Revert "google-api-go-client: add support for "repeated" params"

This reverts commit 69e492629e49bc7ff3c791ac7630836813268b45.

Fixes #110.

Change-Id: I00c32ad2865fa2eef667b2a97261f920317ca6fd
Reviewed-on: https://code-review.googlesource.com/3592
Reviewed-by: Michael McGreevy <mcgreevy@golang.org>
diff --git a/adexchangebuyer/v1.2/adexchangebuyer-gen.go b/adexchangebuyer/v1.2/adexchangebuyer-gen.go
index 9c01434..bca8d3c 100644
--- a/adexchangebuyer/v1.2/adexchangebuyer-gen.go
+++ b/adexchangebuyer/v1.2/adexchangebuyer-gen.go
@@ -451,25 +451,24 @@
 // method id "adexchangebuyer.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   int64
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets one account by ID.
 func (r *AccountsService) Get(id int64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -479,13 +478,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -493,16 +492,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -575,23 +578,22 @@
 // method id "adexchangebuyer.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves the authenticated user's list of accounts.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -601,13 +603,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -615,14 +617,18 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -683,33 +689,33 @@
 // method id "adexchangebuyer.accounts.patch":
 
 type AccountsPatchCall struct {
-	s          *Service
-	id         int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      int64
+	account *Account
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(id int64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -722,9 +728,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
@@ -805,32 +815,32 @@
 // method id "adexchangebuyer.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	id         int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      int64
+	account *Account
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates an existing account.
 func (r *AccountsService) Update(id int64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -843,9 +853,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
@@ -929,25 +943,24 @@
 	s               *Service
 	accountId       int64
 	buyerCreativeId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets the status for a single creative. A creative will be
 // available 30-40 minutes after submission.
 func (r *CreativesService) Get(accountId int64, buyerCreativeId string) *CreativesGetCall {
-	c := &CreativesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.buyerCreativeId = buyerCreativeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -957,13 +970,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -971,17 +984,21 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives/{accountId}/{buyerCreativeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       strconv.FormatInt(c.accountId, 10),
 		"buyerCreativeId": c.buyerCreativeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1061,30 +1078,30 @@
 // method id "adexchangebuyer.creatives.insert":
 
 type CreativesInsertCall struct {
-	s          *Service
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	creative *Creative
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Submit a new creative.
 func (r *CreativesService) Insert(creative *Creative) *CreativesInsertCall {
-	c := &CreativesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1097,9 +1114,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1166,16 +1187,15 @@
 // method id "adexchangebuyer.creatives.list":
 
 type CreativesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of the authenticated user's active creatives.
 // A creative will be available 30-40 minutes after submission.
 func (r *CreativesService) List() *CreativesListCall {
-	c := &CreativesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1183,7 +1203,7 @@
 // of entries returned on one result page. If not set, the default is
 // 100.
 func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1192,7 +1212,7 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1204,15 +1224,15 @@
 //   "disapproved" - Creatives which have been disapproved.
 //   "not_checked" - Creatives whose status is not yet checked.
 func (c *CreativesListCall) StatusFilter(statusFilter string) *CreativesListCall {
-	c.urlParams_.Set("statusFilter", statusFilter)
+	c.opt_["statusFilter"] = statusFilter
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1222,13 +1242,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1236,14 +1256,27 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statusFilter"]; ok {
+		params.Set("statusFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adexchangebuyer/v1.3/adexchangebuyer-gen.go b/adexchangebuyer/v1.3/adexchangebuyer-gen.go
index 1ee202c..31bc541 100644
--- a/adexchangebuyer/v1.3/adexchangebuyer-gen.go
+++ b/adexchangebuyer/v1.3/adexchangebuyer-gen.go
@@ -1191,25 +1191,24 @@
 // method id "adexchangebuyer.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   int64
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets one account by ID.
 func (r *AccountsService) Get(id int64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1219,13 +1218,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1233,16 +1232,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1315,23 +1318,22 @@
 // method id "adexchangebuyer.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves the authenticated user's list of accounts.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1341,13 +1343,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1355,14 +1357,18 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1423,33 +1429,33 @@
 // method id "adexchangebuyer.accounts.patch":
 
 type AccountsPatchCall struct {
-	s          *Service
-	id         int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      int64
+	account *Account
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(id int64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1462,9 +1468,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
@@ -1545,32 +1555,32 @@
 // method id "adexchangebuyer.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	id         int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      int64
+	account *Account
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates an existing account.
 func (r *AccountsService) Update(id int64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1583,9 +1593,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
@@ -1666,26 +1680,25 @@
 // method id "adexchangebuyer.billingInfo.get":
 
 type BillingInfoGetCall struct {
-	s            *Service
-	accountId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the billing information for one account specified by
 // account ID.
 func (r *BillingInfoService) Get(accountId int64) *BillingInfoGetCall {
-	c := &BillingInfoGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingInfoGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingInfoGetCall) Fields(s ...googleapi.Field) *BillingInfoGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1695,13 +1708,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingInfoGetCall) IfNoneMatch(entityTag string) *BillingInfoGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingInfoGetCall) Context(ctx context.Context) *BillingInfoGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1709,16 +1722,20 @@
 
 func (c *BillingInfoGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1791,24 +1808,23 @@
 // method id "adexchangebuyer.billingInfo.list":
 
 type BillingInfoListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of billing information for all accounts of the
 // authenticated user.
 func (r *BillingInfoService) List() *BillingInfoListCall {
-	c := &BillingInfoListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingInfoListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingInfoListCall) Fields(s ...googleapi.Field) *BillingInfoListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1818,13 +1834,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingInfoListCall) IfNoneMatch(entityTag string) *BillingInfoListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingInfoListCall) Context(ctx context.Context) *BillingInfoListCall {
 	c.ctx_ = ctx
 	return c
@@ -1832,14 +1848,18 @@
 
 func (c *BillingInfoListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1900,28 +1920,27 @@
 // method id "adexchangebuyer.budget.get":
 
 type BudgetGetCall struct {
-	s            *Service
-	accountId    int64
-	billingId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	billingId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the budget information for the adgroup specified by the
 // accountId and billingId.
 func (r *BudgetService) Get(accountId int64, billingId int64) *BudgetGetCall {
-	c := &BudgetGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BudgetGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.billingId = billingId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BudgetGetCall) Fields(s ...googleapi.Field) *BudgetGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1931,13 +1950,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BudgetGetCall) IfNoneMatch(entityTag string) *BudgetGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BudgetGetCall) Context(ctx context.Context) *BudgetGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1945,17 +1964,21 @@
 
 func (c *BudgetGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}/{billingId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 		"billingId": strconv.FormatInt(c.billingId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2036,36 +2059,36 @@
 // method id "adexchangebuyer.budget.patch":
 
 type BudgetPatchCall struct {
-	s          *Service
-	accountId  int64
-	billingId  int64
-	budget     *Budget
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId int64
+	billingId int64
+	budget    *Budget
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates the budget amount for the budget of the adgroup
 // specified by the accountId and billingId, with the budget amount in
 // the request. This method supports patch semantics.
 func (r *BudgetService) Patch(accountId int64, billingId int64, budget *Budget) *BudgetPatchCall {
-	c := &BudgetPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BudgetPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.billingId = billingId
 	c.budget = budget
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BudgetPatchCall) Fields(s ...googleapi.Field) *BudgetPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BudgetPatchCall) Context(ctx context.Context) *BudgetPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2078,9 +2101,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}/{billingId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -2170,36 +2197,36 @@
 // method id "adexchangebuyer.budget.update":
 
 type BudgetUpdateCall struct {
-	s          *Service
-	accountId  int64
-	billingId  int64
-	budget     *Budget
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId int64
+	billingId int64
+	budget    *Budget
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates the budget amount for the budget of the adgroup
 // specified by the accountId and billingId, with the budget amount in
 // the request.
 func (r *BudgetService) Update(accountId int64, billingId int64, budget *Budget) *BudgetUpdateCall {
-	c := &BudgetUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BudgetUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.billingId = billingId
 	c.budget = budget
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BudgetUpdateCall) Fields(s ...googleapi.Field) *BudgetUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BudgetUpdateCall) Context(ctx context.Context) *BudgetUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2212,9 +2239,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}/{billingId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -2307,25 +2338,24 @@
 	s               *Service
 	accountId       int64
 	buyerCreativeId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets the status for a single creative. A creative will be
 // available 30-40 minutes after submission.
 func (r *CreativesService) Get(accountId int64, buyerCreativeId string) *CreativesGetCall {
-	c := &CreativesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.buyerCreativeId = buyerCreativeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2335,13 +2365,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2349,17 +2379,21 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives/{accountId}/{buyerCreativeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       strconv.FormatInt(c.accountId, 10),
 		"buyerCreativeId": c.buyerCreativeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2439,30 +2473,30 @@
 // method id "adexchangebuyer.creatives.insert":
 
 type CreativesInsertCall struct {
-	s          *Service
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	creative *Creative
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Submit a new creative.
 func (r *CreativesService) Insert(creative *Creative) *CreativesInsertCall {
-	c := &CreativesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2475,9 +2509,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2544,35 +2582,30 @@
 // method id "adexchangebuyer.creatives.list":
 
 type CreativesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of the authenticated user's active creatives.
 // A creative will be available 30-40 minutes after submission.
 func (r *CreativesService) List() *CreativesListCall {
-	c := &CreativesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AccountId sets the optional parameter "accountId": When specified,
 // only creatives for the given account ids are returned.
-func (c *CreativesListCall) AccountId(accountId []int64) *CreativesListCall {
-	var accountId_ []string
-	for _, v := range accountId {
-		accountId_ = append(accountId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("accountId", accountId_)
+func (c *CreativesListCall) AccountId(accountId int64) *CreativesListCall {
+	c.opt_["accountId"] = accountId
 	return c
 }
 
 // BuyerCreativeId sets the optional parameter "buyerCreativeId": When
 // specified, only creatives for the given buyer creative ids are
 // returned.
-func (c *CreativesListCall) BuyerCreativeId(buyerCreativeId []string) *CreativesListCall {
-	c.urlParams_.SetMulti("buyerCreativeId", append([]string{}, buyerCreativeId...))
+func (c *CreativesListCall) BuyerCreativeId(buyerCreativeId string) *CreativesListCall {
+	c.opt_["buyerCreativeId"] = buyerCreativeId
 	return c
 }
 
@@ -2580,7 +2613,7 @@
 // of entries returned on one result page. If not set, the default is
 // 100.
 func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2589,7 +2622,7 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2601,15 +2634,15 @@
 //   "disapproved" - Creatives which have been disapproved.
 //   "not_checked" - Creatives whose status is not yet checked.
 func (c *CreativesListCall) StatusFilter(statusFilter string) *CreativesListCall {
-	c.urlParams_.Set("statusFilter", statusFilter)
+	c.opt_["statusFilter"] = statusFilter
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2619,13 +2652,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2633,14 +2666,33 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["accountId"]; ok {
+		params.Set("accountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["buyerCreativeId"]; ok {
+		params.Set("buyerCreativeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statusFilter"]; ok {
+		params.Set("statusFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2744,25 +2796,24 @@
 // method id "adexchangebuyer.directDeals.get":
 
 type DirectDealsGetCall struct {
-	s            *Service
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   int64
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets one direct deal by ID.
 func (r *DirectDealsService) Get(id int64) *DirectDealsGetCall {
-	c := &DirectDealsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectDealsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectDealsGetCall) Fields(s ...googleapi.Field) *DirectDealsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2772,13 +2823,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectDealsGetCall) IfNoneMatch(entityTag string) *DirectDealsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectDealsGetCall) Context(ctx context.Context) *DirectDealsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2786,16 +2837,20 @@
 
 func (c *DirectDealsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "directdeals/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2868,23 +2923,22 @@
 // method id "adexchangebuyer.directDeals.list":
 
 type DirectDealsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves the authenticated user's list of direct deals.
 func (r *DirectDealsService) List() *DirectDealsListCall {
-	c := &DirectDealsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectDealsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectDealsListCall) Fields(s ...googleapi.Field) *DirectDealsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2894,13 +2948,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectDealsListCall) IfNoneMatch(entityTag string) *DirectDealsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectDealsListCall) Context(ctx context.Context) *DirectDealsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2908,14 +2962,18 @@
 
 func (c *DirectDealsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "directdeals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2976,18 +3034,20 @@
 // method id "adexchangebuyer.performanceReport.list":
 
 type PerformanceReportListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s             *Service
+	accountId     int64
+	endDateTime   string
+	startDateTime string
+	opt_          map[string]interface{}
+	ctx_          context.Context
 }
 
 // List: Retrieves the authenticated user's list of performance metrics.
 func (r *PerformanceReportService) List(accountId int64, endDateTime string, startDateTime string) *PerformanceReportListCall {
-	c := &PerformanceReportListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("accountId", fmt.Sprintf("%v", accountId))
-	c.urlParams_.Set("endDateTime", endDateTime)
-	c.urlParams_.Set("startDateTime", startDateTime)
+	c := &PerformanceReportListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.accountId = accountId
+	c.endDateTime = endDateTime
+	c.startDateTime = startDateTime
 	return c
 }
 
@@ -2995,7 +3055,7 @@
 // of entries returned on one result page. If not set, the default is
 // 100.
 func (c *PerformanceReportListCall) MaxResults(maxResults int64) *PerformanceReportListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3004,15 +3064,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *PerformanceReportListCall) PageToken(pageToken string) *PerformanceReportListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PerformanceReportListCall) Fields(s ...googleapi.Field) *PerformanceReportListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3022,13 +3082,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PerformanceReportListCall) IfNoneMatch(entityTag string) *PerformanceReportListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PerformanceReportListCall) Context(ctx context.Context) *PerformanceReportListCall {
 	c.ctx_ = ctx
 	return c
@@ -3036,14 +3096,27 @@
 
 func (c *PerformanceReportListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("accountId", fmt.Sprintf("%v", c.accountId))
+	params.Set("endDateTime", fmt.Sprintf("%v", c.endDateTime))
+	params.Set("startDateTime", fmt.Sprintf("%v", c.startDateTime))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "performancereport")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3143,32 +3216,32 @@
 // method id "adexchangebuyer.pretargetingConfig.delete":
 
 type PretargetingConfigDeleteCall struct {
-	s          *Service
-	accountId  int64
-	configId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId int64
+	configId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing pretargeting config.
 func (r *PretargetingConfigService) Delete(accountId int64, configId int64) *PretargetingConfigDeleteCall {
-	c := &PretargetingConfigDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigDeleteCall) Fields(s ...googleapi.Field) *PretargetingConfigDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigDeleteCall) Context(ctx context.Context) *PretargetingConfigDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3176,9 +3249,13 @@
 
 func (c *PretargetingConfigDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -3237,27 +3314,26 @@
 // method id "adexchangebuyer.pretargetingConfig.get":
 
 type PretargetingConfigGetCall struct {
-	s            *Service
-	accountId    int64
-	configId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	configId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a specific pretargeting configuration
 func (r *PretargetingConfigService) Get(accountId int64, configId int64) *PretargetingConfigGetCall {
-	c := &PretargetingConfigGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigGetCall) Fields(s ...googleapi.Field) *PretargetingConfigGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3267,13 +3343,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PretargetingConfigGetCall) IfNoneMatch(entityTag string) *PretargetingConfigGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigGetCall) Context(ctx context.Context) *PretargetingConfigGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3281,17 +3357,21 @@
 
 func (c *PretargetingConfigGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 		"configId":  strconv.FormatInt(c.configId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3375,29 +3455,29 @@
 	s                  *Service
 	accountId          int64
 	pretargetingconfig *PretargetingConfig
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new pretargeting configuration.
 func (r *PretargetingConfigService) Insert(accountId int64, pretargetingconfig *PretargetingConfig) *PretargetingConfigInsertCall {
-	c := &PretargetingConfigInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.pretargetingconfig = pretargetingconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigInsertCall) Fields(s ...googleapi.Field) *PretargetingConfigInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigInsertCall) Context(ctx context.Context) *PretargetingConfigInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3410,9 +3490,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -3493,26 +3577,25 @@
 // method id "adexchangebuyer.pretargetingConfig.list":
 
 type PretargetingConfigListCall struct {
-	s            *Service
-	accountId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of the authenticated user's pretargeting
 // configurations.
 func (r *PretargetingConfigService) List(accountId int64) *PretargetingConfigListCall {
-	c := &PretargetingConfigListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigListCall) Fields(s ...googleapi.Field) *PretargetingConfigListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3522,13 +3605,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PretargetingConfigListCall) IfNoneMatch(entityTag string) *PretargetingConfigListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigListCall) Context(ctx context.Context) *PretargetingConfigListCall {
 	c.ctx_ = ctx
 	return c
@@ -3536,16 +3619,20 @@
 
 func (c *PretargetingConfigListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3622,31 +3709,31 @@
 	accountId          int64
 	configId           int64
 	pretargetingconfig *PretargetingConfig
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing pretargeting config. This method supports
 // patch semantics.
 func (r *PretargetingConfigService) Patch(accountId int64, configId int64, pretargetingconfig *PretargetingConfig) *PretargetingConfigPatchCall {
-	c := &PretargetingConfigPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	c.pretargetingconfig = pretargetingconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigPatchCall) Fields(s ...googleapi.Field) *PretargetingConfigPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigPatchCall) Context(ctx context.Context) *PretargetingConfigPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3659,9 +3746,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -3755,30 +3846,30 @@
 	accountId          int64
 	configId           int64
 	pretargetingconfig *PretargetingConfig
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing pretargeting config.
 func (r *PretargetingConfigService) Update(accountId int64, configId int64, pretargetingconfig *PretargetingConfig) *PretargetingConfigUpdateCall {
-	c := &PretargetingConfigUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	c.pretargetingconfig = pretargetingconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigUpdateCall) Fields(s ...googleapi.Field) *PretargetingConfigUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigUpdateCall) Context(ctx context.Context) *PretargetingConfigUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3791,9 +3882,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
diff --git a/adexchangebuyer/v1.4/adexchangebuyer-gen.go b/adexchangebuyer/v1.4/adexchangebuyer-gen.go
index edacf07..511916f 100644
--- a/adexchangebuyer/v1.4/adexchangebuyer-gen.go
+++ b/adexchangebuyer/v1.4/adexchangebuyer-gen.go
@@ -3308,25 +3308,24 @@
 // method id "adexchangebuyer.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   int64
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets one account by ID.
 func (r *AccountsService) Get(id int64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3336,13 +3335,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3350,16 +3349,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3432,23 +3435,22 @@
 // method id "adexchangebuyer.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves the authenticated user's list of accounts.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3458,13 +3460,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3472,14 +3474,18 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3540,33 +3546,33 @@
 // method id "adexchangebuyer.accounts.patch":
 
 type AccountsPatchCall struct {
-	s          *Service
-	id         int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      int64
+	account *Account
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(id int64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3579,9 +3585,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
@@ -3662,32 +3672,32 @@
 // method id "adexchangebuyer.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	id         int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      int64
+	account *Account
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates an existing account.
 func (r *AccountsService) Update(id int64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3700,9 +3710,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": strconv.FormatInt(c.id, 10),
@@ -3783,26 +3797,25 @@
 // method id "adexchangebuyer.billingInfo.get":
 
 type BillingInfoGetCall struct {
-	s            *Service
-	accountId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the billing information for one account specified by
 // account ID.
 func (r *BillingInfoService) Get(accountId int64) *BillingInfoGetCall {
-	c := &BillingInfoGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingInfoGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingInfoGetCall) Fields(s ...googleapi.Field) *BillingInfoGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3812,13 +3825,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingInfoGetCall) IfNoneMatch(entityTag string) *BillingInfoGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingInfoGetCall) Context(ctx context.Context) *BillingInfoGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3826,16 +3839,20 @@
 
 func (c *BillingInfoGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3908,24 +3925,23 @@
 // method id "adexchangebuyer.billingInfo.list":
 
 type BillingInfoListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of billing information for all accounts of the
 // authenticated user.
 func (r *BillingInfoService) List() *BillingInfoListCall {
-	c := &BillingInfoListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingInfoListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingInfoListCall) Fields(s ...googleapi.Field) *BillingInfoListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3935,13 +3951,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingInfoListCall) IfNoneMatch(entityTag string) *BillingInfoListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingInfoListCall) Context(ctx context.Context) *BillingInfoListCall {
 	c.ctx_ = ctx
 	return c
@@ -3949,14 +3965,18 @@
 
 func (c *BillingInfoListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4017,28 +4037,27 @@
 // method id "adexchangebuyer.budget.get":
 
 type BudgetGetCall struct {
-	s            *Service
-	accountId    int64
-	billingId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	billingId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the budget information for the adgroup specified by the
 // accountId and billingId.
 func (r *BudgetService) Get(accountId int64, billingId int64) *BudgetGetCall {
-	c := &BudgetGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BudgetGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.billingId = billingId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BudgetGetCall) Fields(s ...googleapi.Field) *BudgetGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4048,13 +4067,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BudgetGetCall) IfNoneMatch(entityTag string) *BudgetGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BudgetGetCall) Context(ctx context.Context) *BudgetGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4062,17 +4081,21 @@
 
 func (c *BudgetGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}/{billingId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 		"billingId": strconv.FormatInt(c.billingId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4153,36 +4176,36 @@
 // method id "adexchangebuyer.budget.patch":
 
 type BudgetPatchCall struct {
-	s          *Service
-	accountId  int64
-	billingId  int64
-	budget     *Budget
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId int64
+	billingId int64
+	budget    *Budget
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates the budget amount for the budget of the adgroup
 // specified by the accountId and billingId, with the budget amount in
 // the request. This method supports patch semantics.
 func (r *BudgetService) Patch(accountId int64, billingId int64, budget *Budget) *BudgetPatchCall {
-	c := &BudgetPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BudgetPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.billingId = billingId
 	c.budget = budget
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BudgetPatchCall) Fields(s ...googleapi.Field) *BudgetPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BudgetPatchCall) Context(ctx context.Context) *BudgetPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4195,9 +4218,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}/{billingId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -4287,36 +4314,36 @@
 // method id "adexchangebuyer.budget.update":
 
 type BudgetUpdateCall struct {
-	s          *Service
-	accountId  int64
-	billingId  int64
-	budget     *Budget
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId int64
+	billingId int64
+	budget    *Budget
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates the budget amount for the budget of the adgroup
 // specified by the accountId and billingId, with the budget amount in
 // the request.
 func (r *BudgetService) Update(accountId int64, billingId int64, budget *Budget) *BudgetUpdateCall {
-	c := &BudgetUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BudgetUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.billingId = billingId
 	c.budget = budget
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BudgetUpdateCall) Fields(s ...googleapi.Field) *BudgetUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BudgetUpdateCall) Context(ctx context.Context) *BudgetUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4329,9 +4356,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "billinginfo/{accountId}/{billingId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -4421,31 +4452,32 @@
 // method id "adexchangebuyer.clientaccess.delete":
 
 type ClientaccessDeleteCall struct {
-	s               *Service
-	clientAccountId int64
-	urlParams_      internal.URLParams
-	ctx_            context.Context
+	s                *Service
+	clientAccountId  int64
+	sponsorAccountId int64
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // Delete:
 func (r *ClientaccessService) Delete(clientAccountId int64, sponsorAccountId int64) *ClientaccessDeleteCall {
-	c := &ClientaccessDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientaccessDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.clientAccountId = clientAccountId
-	c.urlParams_.Set("sponsorAccountId", fmt.Sprintf("%v", sponsorAccountId))
+	c.sponsorAccountId = sponsorAccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientaccessDeleteCall) Fields(s ...googleapi.Field) *ClientaccessDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientaccessDeleteCall) Context(ctx context.Context) *ClientaccessDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4453,9 +4485,14 @@
 
 func (c *ClientaccessDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sponsorAccountId", fmt.Sprintf("%v", c.sponsorAccountId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "clientAccess/{clientAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"clientAccountId": strconv.FormatInt(c.clientAccountId, 10),
@@ -4510,26 +4547,26 @@
 // method id "adexchangebuyer.clientaccess.get":
 
 type ClientaccessGetCall struct {
-	s               *Service
-	clientAccountId int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
-	ctx_            context.Context
+	s                *Service
+	clientAccountId  int64
+	sponsorAccountId int64
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // Get:
 func (r *ClientaccessService) Get(clientAccountId int64, sponsorAccountId int64) *ClientaccessGetCall {
-	c := &ClientaccessGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientaccessGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.clientAccountId = clientAccountId
-	c.urlParams_.Set("sponsorAccountId", fmt.Sprintf("%v", sponsorAccountId))
+	c.sponsorAccountId = sponsorAccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientaccessGetCall) Fields(s ...googleapi.Field) *ClientaccessGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4539,13 +4576,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ClientaccessGetCall) IfNoneMatch(entityTag string) *ClientaccessGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientaccessGetCall) Context(ctx context.Context) *ClientaccessGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4553,16 +4590,21 @@
 
 func (c *ClientaccessGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sponsorAccountId", fmt.Sprintf("%v", c.sponsorAccountId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "clientAccess/{clientAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"clientAccountId": strconv.FormatInt(c.clientAccountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4642,40 +4684,40 @@
 type ClientaccessInsertCall struct {
 	s                        *Service
 	clientaccesscapabilities *ClientAccessCapabilities
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Insert:
 func (r *ClientaccessService) Insert(clientaccesscapabilities *ClientAccessCapabilities) *ClientaccessInsertCall {
-	c := &ClientaccessInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientaccessInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.clientaccesscapabilities = clientaccesscapabilities
 	return c
 }
 
 // ClientAccountId sets the optional parameter "clientAccountId":
 func (c *ClientaccessInsertCall) ClientAccountId(clientAccountId int64) *ClientaccessInsertCall {
-	c.urlParams_.Set("clientAccountId", fmt.Sprintf("%v", clientAccountId))
+	c.opt_["clientAccountId"] = clientAccountId
 	return c
 }
 
 // SponsorAccountId sets the optional parameter "sponsorAccountId":
 func (c *ClientaccessInsertCall) SponsorAccountId(sponsorAccountId int64) *ClientaccessInsertCall {
-	c.urlParams_.Set("sponsorAccountId", fmt.Sprintf("%v", sponsorAccountId))
+	c.opt_["sponsorAccountId"] = sponsorAccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientaccessInsertCall) Fields(s ...googleapi.Field) *ClientaccessInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientaccessInsertCall) Context(ctx context.Context) *ClientaccessInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4688,9 +4730,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["clientAccountId"]; ok {
+		params.Set("clientAccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sponsorAccountId"]; ok {
+		params.Set("sponsorAccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "clientAccess")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -4770,23 +4822,22 @@
 type ClientaccessListCall struct {
 	s                                   *Service
 	listclientaccesscapabilitiesrequest *ListClientAccessCapabilitiesRequest
-	urlParams_                          internal.URLParams
-	ifNoneMatch_                        string
+	opt_                                map[string]interface{}
 	ctx_                                context.Context
 }
 
 // List:
 func (r *ClientaccessService) List(listclientaccesscapabilitiesrequest *ListClientAccessCapabilitiesRequest) *ClientaccessListCall {
-	c := &ClientaccessListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientaccessListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.listclientaccesscapabilitiesrequest = listclientaccesscapabilitiesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientaccessListCall) Fields(s ...googleapi.Field) *ClientaccessListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4796,13 +4847,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ClientaccessListCall) IfNoneMatch(entityTag string) *ClientaccessListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientaccessListCall) Context(ctx context.Context) *ClientaccessListCall {
 	c.ctx_ = ctx
 	return c
@@ -4810,14 +4861,18 @@
 
 func (c *ClientaccessListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "clientAccess")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4883,31 +4938,32 @@
 type ClientaccessPatchCall struct {
 	s                        *Service
 	clientAccountId          int64
+	sponsorAccountId         int64
 	clientaccesscapabilities *ClientAccessCapabilities
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Patch:
 func (r *ClientaccessService) Patch(clientAccountId int64, sponsorAccountId int64, clientaccesscapabilities *ClientAccessCapabilities) *ClientaccessPatchCall {
-	c := &ClientaccessPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientaccessPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.clientAccountId = clientAccountId
-	c.urlParams_.Set("sponsorAccountId", fmt.Sprintf("%v", sponsorAccountId))
+	c.sponsorAccountId = sponsorAccountId
 	c.clientaccesscapabilities = clientaccesscapabilities
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientaccessPatchCall) Fields(s ...googleapi.Field) *ClientaccessPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientaccessPatchCall) Context(ctx context.Context) *ClientaccessPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4920,9 +4976,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sponsorAccountId", fmt.Sprintf("%v", c.sponsorAccountId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "clientAccess/{clientAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"clientAccountId": strconv.FormatInt(c.clientAccountId, 10),
@@ -5010,31 +5071,32 @@
 type ClientaccessUpdateCall struct {
 	s                        *Service
 	clientAccountId          int64
+	sponsorAccountId         int64
 	clientaccesscapabilities *ClientAccessCapabilities
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Update:
 func (r *ClientaccessService) Update(clientAccountId int64, sponsorAccountId int64, clientaccesscapabilities *ClientAccessCapabilities) *ClientaccessUpdateCall {
-	c := &ClientaccessUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientaccessUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.clientAccountId = clientAccountId
-	c.urlParams_.Set("sponsorAccountId", fmt.Sprintf("%v", sponsorAccountId))
+	c.sponsorAccountId = sponsorAccountId
 	c.clientaccesscapabilities = clientaccesscapabilities
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientaccessUpdateCall) Fields(s ...googleapi.Field) *ClientaccessUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientaccessUpdateCall) Context(ctx context.Context) *ClientaccessUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5047,9 +5109,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sponsorAccountId", fmt.Sprintf("%v", c.sponsorAccountId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "clientAccess/{clientAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"clientAccountId": strconv.FormatInt(c.clientAccountId, 10),
@@ -5138,25 +5205,24 @@
 	s               *Service
 	accountId       int64
 	buyerCreativeId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets the status for a single creative. A creative will be
 // available 30-40 minutes after submission.
 func (r *CreativesService) Get(accountId int64, buyerCreativeId string) *CreativesGetCall {
-	c := &CreativesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.buyerCreativeId = buyerCreativeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5166,13 +5232,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5180,17 +5246,21 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives/{accountId}/{buyerCreativeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       strconv.FormatInt(c.accountId, 10),
 		"buyerCreativeId": c.buyerCreativeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5270,30 +5340,30 @@
 // method id "adexchangebuyer.creatives.insert":
 
 type CreativesInsertCall struct {
-	s          *Service
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	creative *Creative
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Submit a new creative.
 func (r *CreativesService) Insert(creative *Creative) *CreativesInsertCall {
-	c := &CreativesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5306,9 +5376,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5375,35 +5449,30 @@
 // method id "adexchangebuyer.creatives.list":
 
 type CreativesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of the authenticated user's active creatives.
 // A creative will be available 30-40 minutes after submission.
 func (r *CreativesService) List() *CreativesListCall {
-	c := &CreativesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AccountId sets the optional parameter "accountId": When specified,
 // only creatives for the given account ids are returned.
-func (c *CreativesListCall) AccountId(accountId []int64) *CreativesListCall {
-	var accountId_ []string
-	for _, v := range accountId {
-		accountId_ = append(accountId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("accountId", accountId_)
+func (c *CreativesListCall) AccountId(accountId int64) *CreativesListCall {
+	c.opt_["accountId"] = accountId
 	return c
 }
 
 // BuyerCreativeId sets the optional parameter "buyerCreativeId": When
 // specified, only creatives for the given buyer creative ids are
 // returned.
-func (c *CreativesListCall) BuyerCreativeId(buyerCreativeId []string) *CreativesListCall {
-	c.urlParams_.SetMulti("buyerCreativeId", append([]string{}, buyerCreativeId...))
+func (c *CreativesListCall) BuyerCreativeId(buyerCreativeId string) *CreativesListCall {
+	c.opt_["buyerCreativeId"] = buyerCreativeId
 	return c
 }
 
@@ -5421,7 +5490,7 @@
 //   "not_checked" - Creatives whose direct deals status is not yet
 // checked.
 func (c *CreativesListCall) DealsStatusFilter(dealsStatusFilter string) *CreativesListCall {
-	c.urlParams_.Set("dealsStatusFilter", dealsStatusFilter)
+	c.opt_["dealsStatusFilter"] = dealsStatusFilter
 	return c
 }
 
@@ -5429,7 +5498,7 @@
 // of entries returned on one result page. If not set, the default is
 // 100.
 func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5447,7 +5516,7 @@
 //   "not_checked" - Creatives whose open auction status is not yet
 // checked.
 func (c *CreativesListCall) OpenAuctionStatusFilter(openAuctionStatusFilter string) *CreativesListCall {
-	c.urlParams_.Set("openAuctionStatusFilter", openAuctionStatusFilter)
+	c.opt_["openAuctionStatusFilter"] = openAuctionStatusFilter
 	return c
 }
 
@@ -5456,15 +5525,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5474,13 +5543,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5488,14 +5557,36 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["accountId"]; ok {
+		params.Set("accountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["buyerCreativeId"]; ok {
+		params.Set("buyerCreativeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dealsStatusFilter"]; ok {
+		params.Set("dealsStatusFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["openAuctionStatusFilter"]; ok {
+		params.Set("openAuctionStatusFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5621,24 +5712,23 @@
 	s                                              *Service
 	dealId                                         int64
 	getfinalizednegotiationbyexternaldealidrequest *GetFinalizedNegotiationByExternalDealIdRequest
-	urlParams_                                     internal.URLParams
-	ifNoneMatch_                                   string
+	opt_                                           map[string]interface{}
 	ctx_                                           context.Context
 }
 
 // Get: Gets the requested deal.
 func (r *DealsService) Get(dealId int64, getfinalizednegotiationbyexternaldealidrequest *GetFinalizedNegotiationByExternalDealIdRequest) *DealsGetCall {
-	c := &DealsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DealsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.dealId = dealId
 	c.getfinalizednegotiationbyexternaldealidrequest = getfinalizednegotiationbyexternaldealidrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DealsGetCall) Fields(s ...googleapi.Field) *DealsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5648,13 +5738,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DealsGetCall) IfNoneMatch(entityTag string) *DealsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DealsGetCall) Context(ctx context.Context) *DealsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5662,16 +5752,20 @@
 
 func (c *DealsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "deals/{dealId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"dealId": strconv.FormatInt(c.dealId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5749,29 +5843,29 @@
 	s                       *Service
 	orderId                 string
 	deleteorderdealsrequest *DeleteOrderDealsRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Delete: Delete the specified deals from the order
 func (r *MarketplacedealsService) Delete(orderId string, deleteorderdealsrequest *DeleteOrderDealsRequest) *MarketplacedealsDeleteCall {
-	c := &MarketplacedealsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplacedealsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	c.deleteorderdealsrequest = deleteorderdealsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplacedealsDeleteCall) Fields(s ...googleapi.Field) *MarketplacedealsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplacedealsDeleteCall) Context(ctx context.Context) *MarketplacedealsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5784,9 +5878,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/deals/delete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
@@ -5869,29 +5967,29 @@
 	s                    *Service
 	orderId              string
 	addorderdealsrequest *AddOrderDealsRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Insert: Add new deals for the specified order
 func (r *MarketplacedealsService) Insert(orderId string, addorderdealsrequest *AddOrderDealsRequest) *MarketplacedealsInsertCall {
-	c := &MarketplacedealsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplacedealsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	c.addorderdealsrequest = addorderdealsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplacedealsInsertCall) Fields(s ...googleapi.Field) *MarketplacedealsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplacedealsInsertCall) Context(ctx context.Context) *MarketplacedealsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5904,9 +6002,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/deals/insert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
@@ -5986,25 +6088,24 @@
 // method id "adexchangebuyer.marketplacedeals.list":
 
 type MarketplacedealsListCall struct {
-	s            *Service
-	orderId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	orderId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: List all the deals for a given order
 func (r *MarketplacedealsService) List(orderId string) *MarketplacedealsListCall {
-	c := &MarketplacedealsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplacedealsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplacedealsListCall) Fields(s ...googleapi.Field) *MarketplacedealsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6014,13 +6115,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MarketplacedealsListCall) IfNoneMatch(entityTag string) *MarketplacedealsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplacedealsListCall) Context(ctx context.Context) *MarketplacedealsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6028,16 +6129,20 @@
 
 func (c *MarketplacedealsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/deals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6112,29 +6217,29 @@
 	s                        *Service
 	orderId                  string
 	editallorderdealsrequest *EditAllOrderDealsRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Update: Replaces all the deals in the order with the passed in deals
 func (r *MarketplacedealsService) Update(orderId string, editallorderdealsrequest *EditAllOrderDealsRequest) *MarketplacedealsUpdateCall {
-	c := &MarketplacedealsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplacedealsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	c.editallorderdealsrequest = editallorderdealsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplacedealsUpdateCall) Fields(s ...googleapi.Field) *MarketplacedealsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplacedealsUpdateCall) Context(ctx context.Context) *MarketplacedealsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6147,9 +6252,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/deals/update")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
@@ -6232,29 +6341,29 @@
 	s                    *Service
 	orderId              string
 	addordernotesrequest *AddOrderNotesRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Insert: Add notes to the order
 func (r *MarketplacenotesService) Insert(orderId string, addordernotesrequest *AddOrderNotesRequest) *MarketplacenotesInsertCall {
-	c := &MarketplacenotesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplacenotesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	c.addordernotesrequest = addordernotesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplacenotesInsertCall) Fields(s ...googleapi.Field) *MarketplacenotesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplacenotesInsertCall) Context(ctx context.Context) *MarketplacenotesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6267,9 +6376,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/notes/insert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
@@ -6349,25 +6462,24 @@
 // method id "adexchangebuyer.marketplacenotes.list":
 
 type MarketplacenotesListCall struct {
-	s            *Service
-	orderId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	orderId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Get all the notes associated with an order
 func (r *MarketplacenotesService) List(orderId string) *MarketplacenotesListCall {
-	c := &MarketplacenotesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplacenotesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplacenotesListCall) Fields(s ...googleapi.Field) *MarketplacenotesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6377,13 +6489,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MarketplacenotesListCall) IfNoneMatch(entityTag string) *MarketplacenotesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplacenotesListCall) Context(ctx context.Context) *MarketplacenotesListCall {
 	c.ctx_ = ctx
 	return c
@@ -6391,16 +6503,20 @@
 
 func (c *MarketplacenotesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/notes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6472,25 +6588,24 @@
 // method id "adexchangebuyer.marketplaceoffers.get":
 
 type MarketplaceoffersGetCall struct {
-	s            *Service
-	offerId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	offerId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Gets the requested negotiation.
 func (r *MarketplaceoffersService) Get(offerId string) *MarketplaceoffersGetCall {
-	c := &MarketplaceoffersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceoffersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.offerId = offerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceoffersGetCall) Fields(s ...googleapi.Field) *MarketplaceoffersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6500,13 +6615,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MarketplaceoffersGetCall) IfNoneMatch(entityTag string) *MarketplaceoffersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceoffersGetCall) Context(ctx context.Context) *MarketplaceoffersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6514,16 +6629,20 @@
 
 func (c *MarketplaceoffersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOffers/{offerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"offerId": c.offerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6595,30 +6714,29 @@
 // method id "adexchangebuyer.marketplaceoffers.search":
 
 type MarketplaceoffersSearchCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Search: Gets the requested negotiation.
 func (r *MarketplaceoffersService) Search() *MarketplaceoffersSearchCall {
-	c := &MarketplaceoffersSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceoffersSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // PqlQuery sets the optional parameter "pqlQuery": The pql query used
 // to query for offers.
 func (c *MarketplaceoffersSearchCall) PqlQuery(pqlQuery string) *MarketplaceoffersSearchCall {
-	c.urlParams_.Set("pqlQuery", pqlQuery)
+	c.opt_["pqlQuery"] = pqlQuery
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceoffersSearchCall) Fields(s ...googleapi.Field) *MarketplaceoffersSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6628,13 +6746,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MarketplaceoffersSearchCall) IfNoneMatch(entityTag string) *MarketplaceoffersSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceoffersSearchCall) Context(ctx context.Context) *MarketplaceoffersSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -6642,14 +6760,21 @@
 
 func (c *MarketplaceoffersSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pqlQuery"]; ok {
+		params.Set("pqlQuery", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOffers/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6717,25 +6842,24 @@
 // method id "adexchangebuyer.marketplaceorders.get":
 
 type MarketplaceordersGetCall struct {
-	s            *Service
-	orderId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	orderId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Get an order given its id
 func (r *MarketplaceordersService) Get(orderId string) *MarketplaceordersGetCall {
-	c := &MarketplaceordersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceordersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceordersGetCall) Fields(s ...googleapi.Field) *MarketplaceordersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6745,13 +6869,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MarketplaceordersGetCall) IfNoneMatch(entityTag string) *MarketplaceordersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceordersGetCall) Context(ctx context.Context) *MarketplaceordersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6759,16 +6883,20 @@
 
 func (c *MarketplaceordersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId": c.orderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6842,28 +6970,28 @@
 type MarketplaceordersInsertCall struct {
 	s                   *Service
 	createordersrequest *CreateOrdersRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Create the given list of orders
 func (r *MarketplaceordersService) Insert(createordersrequest *CreateOrdersRequest) *MarketplaceordersInsertCall {
-	c := &MarketplaceordersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceordersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.createordersrequest = createordersrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceordersInsertCall) Fields(s ...googleapi.Field) *MarketplaceordersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceordersInsertCall) Context(ctx context.Context) *MarketplaceordersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6876,9 +7004,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/insert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6950,13 +7082,13 @@
 	revisionNumber   int64
 	updateAction     string
 	marketplaceorder *MarketplaceOrder
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Patch: Update the given order. This method supports patch semantics.
 func (r *MarketplaceordersService) Patch(orderId string, revisionNumber int64, updateAction string, marketplaceorder *MarketplaceOrder) *MarketplaceordersPatchCall {
-	c := &MarketplaceordersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceordersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	c.revisionNumber = revisionNumber
 	c.updateAction = updateAction
@@ -6964,17 +7096,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceordersPatchCall) Fields(s ...googleapi.Field) *MarketplaceordersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceordersPatchCall) Context(ctx context.Context) *MarketplaceordersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6987,9 +7119,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId":        c.orderId,
@@ -7100,30 +7236,29 @@
 // method id "adexchangebuyer.marketplaceorders.search":
 
 type MarketplaceordersSearchCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Search: Search for orders using pql query
 func (r *MarketplaceordersService) Search() *MarketplaceordersSearchCall {
-	c := &MarketplaceordersSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceordersSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // PqlQuery sets the optional parameter "pqlQuery": Query string to
 // retrieve specific orders.
 func (c *MarketplaceordersSearchCall) PqlQuery(pqlQuery string) *MarketplaceordersSearchCall {
-	c.urlParams_.Set("pqlQuery", pqlQuery)
+	c.opt_["pqlQuery"] = pqlQuery
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceordersSearchCall) Fields(s ...googleapi.Field) *MarketplaceordersSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7133,13 +7268,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MarketplaceordersSearchCall) IfNoneMatch(entityTag string) *MarketplaceordersSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceordersSearchCall) Context(ctx context.Context) *MarketplaceordersSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -7147,14 +7282,21 @@
 
 func (c *MarketplaceordersSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pqlQuery"]; ok {
+		params.Set("pqlQuery", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7227,13 +7369,13 @@
 	revisionNumber   int64
 	updateAction     string
 	marketplaceorder *MarketplaceOrder
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Update: Update the given order
 func (r *MarketplaceordersService) Update(orderId string, revisionNumber int64, updateAction string, marketplaceorder *MarketplaceOrder) *MarketplaceordersUpdateCall {
-	c := &MarketplaceordersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MarketplaceordersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderId = orderId
 	c.revisionNumber = revisionNumber
 	c.updateAction = updateAction
@@ -7241,17 +7383,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MarketplaceordersUpdateCall) Fields(s ...googleapi.Field) *MarketplaceordersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MarketplaceordersUpdateCall) Context(ctx context.Context) *MarketplaceordersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7264,9 +7406,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"orderId":        c.orderId,
@@ -7380,30 +7526,30 @@
 	s                   *Service
 	negotiationId       int64
 	negotiationrounddto *NegotiationRoundDto
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Adds the requested negotiationRound to the requested
 // negotiation.
 func (r *NegotiationroundsService) Insert(negotiationId int64, negotiationrounddto *NegotiationRoundDto) *NegotiationroundsInsertCall {
-	c := &NegotiationroundsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NegotiationroundsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.negotiationId = negotiationId
 	c.negotiationrounddto = negotiationrounddto
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NegotiationroundsInsertCall) Fields(s ...googleapi.Field) *NegotiationroundsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NegotiationroundsInsertCall) Context(ctx context.Context) *NegotiationroundsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7416,9 +7562,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "negotiations/{negotiationId}/negotiationrounds")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"negotiationId": strconv.FormatInt(c.negotiationId, 10),
@@ -7501,24 +7651,23 @@
 	s                         *Service
 	negotiationId             int64
 	getnegotiationbyidrequest *GetNegotiationByIdRequest
-	urlParams_                internal.URLParams
-	ifNoneMatch_              string
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // Get: Gets the requested negotiation.
 func (r *NegotiationsService) Get(negotiationId int64, getnegotiationbyidrequest *GetNegotiationByIdRequest) *NegotiationsGetCall {
-	c := &NegotiationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NegotiationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.negotiationId = negotiationId
 	c.getnegotiationbyidrequest = getnegotiationbyidrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NegotiationsGetCall) Fields(s ...googleapi.Field) *NegotiationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7528,13 +7677,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NegotiationsGetCall) IfNoneMatch(entityTag string) *NegotiationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NegotiationsGetCall) Context(ctx context.Context) *NegotiationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7542,16 +7691,20 @@
 
 func (c *NegotiationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "negotiations/{negotiationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"negotiationId": strconv.FormatInt(c.negotiationId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7628,28 +7781,28 @@
 type NegotiationsInsertCall struct {
 	s              *Service
 	negotiationdto *NegotiationDto
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Creates or updates the requested negotiation.
 func (r *NegotiationsService) Insert(negotiationdto *NegotiationDto) *NegotiationsInsertCall {
-	c := &NegotiationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NegotiationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.negotiationdto = negotiationdto
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NegotiationsInsertCall) Fields(s ...googleapi.Field) *NegotiationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NegotiationsInsertCall) Context(ctx context.Context) *NegotiationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7662,9 +7815,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "negotiations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7733,23 +7890,22 @@
 type NegotiationsListCall struct {
 	s                      *Service
 	getnegotiationsrequest *GetNegotiationsRequest
-	urlParams_             internal.URLParams
-	ifNoneMatch_           string
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // List: Lists all negotiations the authenticated user has access to.
 func (r *NegotiationsService) List(getnegotiationsrequest *GetNegotiationsRequest) *NegotiationsListCall {
-	c := &NegotiationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NegotiationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.getnegotiationsrequest = getnegotiationsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NegotiationsListCall) Fields(s ...googleapi.Field) *NegotiationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7759,13 +7915,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NegotiationsListCall) IfNoneMatch(entityTag string) *NegotiationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NegotiationsListCall) Context(ctx context.Context) *NegotiationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7773,14 +7929,18 @@
 
 func (c *NegotiationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "negotiations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7844,25 +8004,24 @@
 // method id "adexchangebuyer.offers.get":
 
 type OffersGetCall struct {
-	s            *Service
-	offerId      int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	offerId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Gets the requested offer.
 func (r *OffersService) Get(offerId int64) *OffersGetCall {
-	c := &OffersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OffersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.offerId = offerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OffersGetCall) Fields(s ...googleapi.Field) *OffersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7872,13 +8031,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OffersGetCall) IfNoneMatch(entityTag string) *OffersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OffersGetCall) Context(ctx context.Context) *OffersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7886,16 +8045,20 @@
 
 func (c *OffersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "offers/{offerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"offerId": strconv.FormatInt(c.offerId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7967,30 +8130,30 @@
 // method id "adexchangebuyer.offers.insert":
 
 type OffersInsertCall struct {
-	s          *Service
-	offerdto   *OfferDto
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	offerdto *OfferDto
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates or updates the requested offer.
 func (r *OffersService) Insert(offerdto *OfferDto) *OffersInsertCall {
-	c := &OffersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OffersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.offerdto = offerdto
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OffersInsertCall) Fields(s ...googleapi.Field) *OffersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OffersInsertCall) Context(ctx context.Context) *OffersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8003,9 +8166,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "offers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8074,23 +8241,22 @@
 type OffersListCall struct {
 	s                 *Service
 	listoffersrequest *ListOffersRequest
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // List: Lists all offers the authenticated user has access to.
 func (r *OffersService) List(listoffersrequest *ListOffersRequest) *OffersListCall {
-	c := &OffersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OffersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.listoffersrequest = listoffersrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OffersListCall) Fields(s ...googleapi.Field) *OffersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8100,13 +8266,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OffersListCall) IfNoneMatch(entityTag string) *OffersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OffersListCall) Context(ctx context.Context) *OffersListCall {
 	c.ctx_ = ctx
 	return c
@@ -8114,14 +8280,18 @@
 
 func (c *OffersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "offers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8185,18 +8355,20 @@
 // method id "adexchangebuyer.performanceReport.list":
 
 type PerformanceReportListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s             *Service
+	accountId     int64
+	endDateTime   string
+	startDateTime string
+	opt_          map[string]interface{}
+	ctx_          context.Context
 }
 
 // List: Retrieves the authenticated user's list of performance metrics.
 func (r *PerformanceReportService) List(accountId int64, endDateTime string, startDateTime string) *PerformanceReportListCall {
-	c := &PerformanceReportListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("accountId", fmt.Sprintf("%v", accountId))
-	c.urlParams_.Set("endDateTime", endDateTime)
-	c.urlParams_.Set("startDateTime", startDateTime)
+	c := &PerformanceReportListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.accountId = accountId
+	c.endDateTime = endDateTime
+	c.startDateTime = startDateTime
 	return c
 }
 
@@ -8204,7 +8376,7 @@
 // of entries returned on one result page. If not set, the default is
 // 100.
 func (c *PerformanceReportListCall) MaxResults(maxResults int64) *PerformanceReportListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8213,15 +8385,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *PerformanceReportListCall) PageToken(pageToken string) *PerformanceReportListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PerformanceReportListCall) Fields(s ...googleapi.Field) *PerformanceReportListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8231,13 +8403,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PerformanceReportListCall) IfNoneMatch(entityTag string) *PerformanceReportListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PerformanceReportListCall) Context(ctx context.Context) *PerformanceReportListCall {
 	c.ctx_ = ctx
 	return c
@@ -8245,14 +8417,27 @@
 
 func (c *PerformanceReportListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("accountId", fmt.Sprintf("%v", c.accountId))
+	params.Set("endDateTime", fmt.Sprintf("%v", c.endDateTime))
+	params.Set("startDateTime", fmt.Sprintf("%v", c.startDateTime))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "performancereport")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8352,32 +8537,32 @@
 // method id "adexchangebuyer.pretargetingConfig.delete":
 
 type PretargetingConfigDeleteCall struct {
-	s          *Service
-	accountId  int64
-	configId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId int64
+	configId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing pretargeting config.
 func (r *PretargetingConfigService) Delete(accountId int64, configId int64) *PretargetingConfigDeleteCall {
-	c := &PretargetingConfigDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigDeleteCall) Fields(s ...googleapi.Field) *PretargetingConfigDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigDeleteCall) Context(ctx context.Context) *PretargetingConfigDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8385,9 +8570,13 @@
 
 func (c *PretargetingConfigDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -8446,27 +8635,26 @@
 // method id "adexchangebuyer.pretargetingConfig.get":
 
 type PretargetingConfigGetCall struct {
-	s            *Service
-	accountId    int64
-	configId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	configId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a specific pretargeting configuration
 func (r *PretargetingConfigService) Get(accountId int64, configId int64) *PretargetingConfigGetCall {
-	c := &PretargetingConfigGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigGetCall) Fields(s ...googleapi.Field) *PretargetingConfigGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8476,13 +8664,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PretargetingConfigGetCall) IfNoneMatch(entityTag string) *PretargetingConfigGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigGetCall) Context(ctx context.Context) *PretargetingConfigGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8490,17 +8678,21 @@
 
 func (c *PretargetingConfigGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 		"configId":  strconv.FormatInt(c.configId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8584,29 +8776,29 @@
 	s                  *Service
 	accountId          int64
 	pretargetingconfig *PretargetingConfig
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new pretargeting configuration.
 func (r *PretargetingConfigService) Insert(accountId int64, pretargetingconfig *PretargetingConfig) *PretargetingConfigInsertCall {
-	c := &PretargetingConfigInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.pretargetingconfig = pretargetingconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigInsertCall) Fields(s ...googleapi.Field) *PretargetingConfigInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigInsertCall) Context(ctx context.Context) *PretargetingConfigInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8619,9 +8811,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -8702,26 +8898,25 @@
 // method id "adexchangebuyer.pretargetingConfig.list":
 
 type PretargetingConfigListCall struct {
-	s            *Service
-	accountId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of the authenticated user's pretargeting
 // configurations.
 func (r *PretargetingConfigService) List(accountId int64) *PretargetingConfigListCall {
-	c := &PretargetingConfigListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigListCall) Fields(s ...googleapi.Field) *PretargetingConfigListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8731,13 +8926,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PretargetingConfigListCall) IfNoneMatch(entityTag string) *PretargetingConfigListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigListCall) Context(ctx context.Context) *PretargetingConfigListCall {
 	c.ctx_ = ctx
 	return c
@@ -8745,16 +8940,20 @@
 
 func (c *PretargetingConfigListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8831,31 +9030,31 @@
 	accountId          int64
 	configId           int64
 	pretargetingconfig *PretargetingConfig
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing pretargeting config. This method supports
 // patch semantics.
 func (r *PretargetingConfigService) Patch(accountId int64, configId int64, pretargetingconfig *PretargetingConfig) *PretargetingConfigPatchCall {
-	c := &PretargetingConfigPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	c.pretargetingconfig = pretargetingconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigPatchCall) Fields(s ...googleapi.Field) *PretargetingConfigPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigPatchCall) Context(ctx context.Context) *PretargetingConfigPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8868,9 +9067,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
@@ -8964,30 +9167,30 @@
 	accountId          int64
 	configId           int64
 	pretargetingconfig *PretargetingConfig
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing pretargeting config.
 func (r *PretargetingConfigService) Update(accountId int64, configId int64, pretargetingconfig *PretargetingConfig) *PretargetingConfigUpdateCall {
-	c := &PretargetingConfigUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PretargetingConfigUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.configId = configId
 	c.pretargetingconfig = pretargetingconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PretargetingConfigUpdateCall) Fields(s ...googleapi.Field) *PretargetingConfigUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PretargetingConfigUpdateCall) Context(ctx context.Context) *PretargetingConfigUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9000,9 +9203,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pretargetingconfigs/{accountId}/{configId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": strconv.FormatInt(c.accountId, 10),
diff --git a/adexchangeseller/v1.1/adexchangeseller-gen.go b/adexchangeseller/v1.1/adexchangeseller-gen.go
index 020a4d0..1c2b7e0 100644
--- a/adexchangeseller/v1.1/adexchangeseller-gen.go
+++ b/adexchangeseller/v1.1/adexchangeseller-gen.go
@@ -955,25 +955,24 @@
 // method id "adexchangeseller.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected Ad Exchange account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -983,13 +982,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -997,16 +996,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1079,22 +1082,21 @@
 // method id "adexchangeseller.adclients.list":
 
 type AdclientsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all ad clients in this Ad Exchange account.
 func (r *AdclientsService) List() *AdclientsListCall {
-	c := &AdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AdclientsListCall) MaxResults(maxResults int64) *AdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1103,15 +1105,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdclientsListCall) PageToken(pageToken string) *AdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsListCall) Fields(s ...googleapi.Field) *AdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1121,13 +1123,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsListCall) IfNoneMatch(entityTag string) *AdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsListCall) Context(ctx context.Context) *AdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1135,14 +1137,24 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1219,27 +1231,26 @@
 // method id "adexchangeseller.adunits.get":
 
 type AdunitsGetCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client.
 func (r *AdunitsService) Get(adClientId string, adUnitId string) *AdunitsGetCall {
-	c := &AdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetCall) Fields(s ...googleapi.Field) *AdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1249,13 +1260,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetCall) IfNoneMatch(entityTag string) *AdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetCall) Context(ctx context.Context) *AdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1263,17 +1274,21 @@
 
 func (c *AdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1353,17 +1368,16 @@
 // method id "adexchangeseller.adunits.list":
 
 type AdunitsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for this Ad
 // Exchange account.
 func (r *AdunitsService) List(adClientId string) *AdunitsListCall {
-	c := &AdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -1371,14 +1385,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AdunitsListCall) IncludeInactive(includeInactive bool) *AdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AdunitsListCall) MaxResults(maxResults int64) *AdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1387,15 +1401,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdunitsListCall) PageToken(pageToken string) *AdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsListCall) Fields(s ...googleapi.Field) *AdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1405,13 +1419,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsListCall) IfNoneMatch(entityTag string) *AdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsListCall) Context(ctx context.Context) *AdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1419,16 +1433,29 @@
 
 func (c *AdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1519,18 +1546,17 @@
 // method id "adexchangeseller.adunits.customchannels.list":
 
 type AdunitsCustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AdunitsCustomchannelsService) List(adClientId string, adUnitId string) *AdunitsCustomchannelsListCall {
-	c := &AdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
@@ -1540,7 +1566,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1549,15 +1575,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AdunitsCustomchannelsListCall) PageToken(pageToken string) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1567,13 +1593,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsCustomchannelsListCall) Context(ctx context.Context) *AdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1581,17 +1607,27 @@
 
 func (c *AdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1684,15 +1720,14 @@
 // method id "adexchangeseller.alerts.list":
 
 type AlertsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the alerts for this Ad Exchange account.
 func (r *AlertsService) List() *AlertsListCall {
-	c := &AlertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AlertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1701,15 +1736,15 @@
 // is not supplied. The AdSense default (English) will be used if the
 // supplied locale is invalid or unsupported.
 func (c *AlertsListCall) Locale(locale string) *AlertsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AlertsListCall) Fields(s ...googleapi.Field) *AlertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1719,13 +1754,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AlertsListCall) IfNoneMatch(entityTag string) *AlertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AlertsListCall) Context(ctx context.Context) *AlertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1733,14 +1768,21 @@
 
 func (c *AlertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "alerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1812,24 +1854,23 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client.
 func (r *CustomchannelsService) Get(adClientId string, customChannelId string) *CustomchannelsGetCall {
-	c := &CustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsGetCall) Fields(s ...googleapi.Field) *CustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1839,13 +1880,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsGetCall) IfNoneMatch(entityTag string) *CustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsGetCall) Context(ctx context.Context) *CustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1853,17 +1894,21 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1943,17 +1988,16 @@
 // method id "adexchangeseller.customchannels.list":
 
 type CustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for this Ad
 // Exchange account.
 func (r *CustomchannelsService) List(adClientId string) *CustomchannelsListCall {
-	c := &CustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -1962,7 +2006,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *CustomchannelsListCall) MaxResults(maxResults int64) *CustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1971,15 +2015,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *CustomchannelsListCall) PageToken(pageToken string) *CustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsListCall) Fields(s ...googleapi.Field) *CustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1989,13 +2033,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsListCall) IfNoneMatch(entityTag string) *CustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsListCall) Context(ctx context.Context) *CustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2003,16 +2047,26 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2101,14 +2155,13 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *CustomchannelsAdunitsService) List(adClientId string, customChannelId string) *CustomchannelsAdunitsListCall {
-	c := &CustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
@@ -2117,14 +2170,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *CustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *CustomchannelsAdunitsListCall) MaxResults(maxResults int64) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2133,15 +2186,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CustomchannelsAdunitsListCall) PageToken(pageToken string) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2151,13 +2204,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *CustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsAdunitsListCall) Context(ctx context.Context) *CustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2165,17 +2218,30 @@
 
 func (c *CustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2273,24 +2339,23 @@
 // method id "adexchangeseller.metadata.dimensions.list":
 
 type MetadataDimensionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the metadata for the dimensions available to this
 // AdExchange account.
 func (r *MetadataDimensionsService) List() *MetadataDimensionsListCall {
-	c := &MetadataDimensionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataDimensionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataDimensionsListCall) Fields(s ...googleapi.Field) *MetadataDimensionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2300,13 +2365,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataDimensionsListCall) IfNoneMatch(entityTag string) *MetadataDimensionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataDimensionsListCall) Context(ctx context.Context) *MetadataDimensionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2314,14 +2379,18 @@
 
 func (c *MetadataDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/dimensions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2383,24 +2452,23 @@
 // method id "adexchangeseller.metadata.metrics.list":
 
 type MetadataMetricsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the metadata for the metrics available to this AdExchange
 // account.
 func (r *MetadataMetricsService) List() *MetadataMetricsListCall {
-	c := &MetadataMetricsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataMetricsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataMetricsListCall) Fields(s ...googleapi.Field) *MetadataMetricsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2410,13 +2478,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataMetricsListCall) IfNoneMatch(entityTag string) *MetadataMetricsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataMetricsListCall) Context(ctx context.Context) *MetadataMetricsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2424,14 +2492,18 @@
 
 func (c *MetadataMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/metrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2493,25 +2565,24 @@
 // method id "adexchangeseller.preferreddeals.get":
 
 type PreferreddealsGetCall struct {
-	s            *Service
-	dealId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	dealId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get information about the selected Ad Exchange Preferred Deal.
 func (r *PreferreddealsService) Get(dealId string) *PreferreddealsGetCall {
-	c := &PreferreddealsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PreferreddealsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.dealId = dealId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PreferreddealsGetCall) Fields(s ...googleapi.Field) *PreferreddealsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2521,13 +2592,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PreferreddealsGetCall) IfNoneMatch(entityTag string) *PreferreddealsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PreferreddealsGetCall) Context(ctx context.Context) *PreferreddealsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2535,16 +2606,20 @@
 
 func (c *PreferreddealsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "preferreddeals/{dealId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"dealId": c.dealId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2617,23 +2692,22 @@
 // method id "adexchangeseller.preferreddeals.list":
 
 type PreferreddealsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the preferred deals for this Ad Exchange account.
 func (r *PreferreddealsService) List() *PreferreddealsListCall {
-	c := &PreferreddealsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PreferreddealsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PreferreddealsListCall) Fields(s ...googleapi.Field) *PreferreddealsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2643,13 +2717,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PreferreddealsListCall) IfNoneMatch(entityTag string) *PreferreddealsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PreferreddealsListCall) Context(ctx context.Context) *PreferreddealsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2657,14 +2731,18 @@
 
 func (c *PreferreddealsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "preferreddeals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2726,33 +2804,34 @@
 // method id "adexchangeseller.reports.generate":
 
 type ReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an Ad Exchange report based on the report request
 // sent in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *ReportsService) Generate(startDate string, endDate string) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *ReportsGenerateCall) Dimension(dimension []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *ReportsGenerateCall) Dimension(dimension string) *ReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *ReportsGenerateCall) Filter(filter []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *ReportsGenerateCall) Filter(filter string) *ReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -2760,21 +2839,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsGenerateCall) Locale(locale string) *ReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsGenerateCall) MaxResults(maxResults int64) *ReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *ReportsGenerateCall) Metric(metric []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *ReportsGenerateCall) Metric(metric string) *ReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -2782,23 +2861,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *ReportsGenerateCall) Sort(sort []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *ReportsGenerateCall) Sort(sort string) *ReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsGenerateCall) StartIndex(startIndex int64) *ReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2808,13 +2887,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGenerateCall) IfNoneMatch(entityTag string) *ReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2822,14 +2901,41 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2979,15 +3085,14 @@
 type ReportsSavedGenerateCall struct {
 	s             *Service
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an Ad Exchange report based on the saved report ID
 // sent in the query parameters.
 func (r *ReportsSavedService) Generate(savedReportId string) *ReportsSavedGenerateCall {
-	c := &ReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedReportId = savedReportId
 	return c
 }
@@ -2996,29 +3101,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsSavedGenerateCall) Locale(locale string) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsSavedGenerateCall) MaxResults(maxResults int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsSavedGenerateCall) StartIndex(startIndex int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedGenerateCall) Fields(s ...googleapi.Field) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3028,13 +3133,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedGenerateCall) IfNoneMatch(entityTag string) *ReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedGenerateCall) Context(ctx context.Context) *ReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -3042,16 +3147,29 @@
 
 func (c *ReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3146,22 +3264,21 @@
 // method id "adexchangeseller.reports.saved.list":
 
 type ReportsSavedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved reports in this Ad Exchange account.
 func (r *ReportsSavedService) List() *ReportsSavedListCall {
-	c := &ReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *ReportsSavedListCall) MaxResults(maxResults int64) *ReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3170,15 +3287,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *ReportsSavedListCall) PageToken(pageToken string) *ReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedListCall) Fields(s ...googleapi.Field) *ReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3188,13 +3305,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedListCall) IfNoneMatch(entityTag string) *ReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedListCall) Context(ctx context.Context) *ReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -3202,14 +3319,24 @@
 
 func (c *ReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3286,17 +3413,16 @@
 // method id "adexchangeseller.urlchannels.list":
 
 type UrlchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for this Ad
 // Exchange account.
 func (r *UrlchannelsService) List(adClientId string) *UrlchannelsListCall {
-	c := &UrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -3304,7 +3430,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *UrlchannelsListCall) MaxResults(maxResults int64) *UrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3313,15 +3439,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *UrlchannelsListCall) PageToken(pageToken string) *UrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsListCall) Fields(s ...googleapi.Field) *UrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3331,13 +3457,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlchannelsListCall) IfNoneMatch(entityTag string) *UrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsListCall) Context(ctx context.Context) *UrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3345,16 +3471,26 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adexchangeseller/v1/adexchangeseller-gen.go b/adexchangeseller/v1/adexchangeseller-gen.go
index 22f8d96..0557a3a 100644
--- a/adexchangeseller/v1/adexchangeseller-gen.go
+++ b/adexchangeseller/v1/adexchangeseller-gen.go
@@ -633,22 +633,21 @@
 // method id "adexchangeseller.adclients.list":
 
 type AdclientsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all ad clients in this Ad Exchange account.
 func (r *AdclientsService) List() *AdclientsListCall {
-	c := &AdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AdclientsListCall) MaxResults(maxResults int64) *AdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -657,15 +656,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdclientsListCall) PageToken(pageToken string) *AdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsListCall) Fields(s ...googleapi.Field) *AdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -675,13 +674,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsListCall) IfNoneMatch(entityTag string) *AdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsListCall) Context(ctx context.Context) *AdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -689,14 +688,24 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -773,27 +782,26 @@
 // method id "adexchangeseller.adunits.get":
 
 type AdunitsGetCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client.
 func (r *AdunitsService) Get(adClientId string, adUnitId string) *AdunitsGetCall {
-	c := &AdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetCall) Fields(s ...googleapi.Field) *AdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -803,13 +811,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetCall) IfNoneMatch(entityTag string) *AdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetCall) Context(ctx context.Context) *AdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -817,17 +825,21 @@
 
 func (c *AdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -907,17 +919,16 @@
 // method id "adexchangeseller.adunits.list":
 
 type AdunitsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for this Ad
 // Exchange account.
 func (r *AdunitsService) List(adClientId string) *AdunitsListCall {
-	c := &AdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -925,14 +936,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AdunitsListCall) IncludeInactive(includeInactive bool) *AdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AdunitsListCall) MaxResults(maxResults int64) *AdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -941,15 +952,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdunitsListCall) PageToken(pageToken string) *AdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsListCall) Fields(s ...googleapi.Field) *AdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -959,13 +970,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsListCall) IfNoneMatch(entityTag string) *AdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsListCall) Context(ctx context.Context) *AdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -973,16 +984,29 @@
 
 func (c *AdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1073,18 +1097,17 @@
 // method id "adexchangeseller.adunits.customchannels.list":
 
 type AdunitsCustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AdunitsCustomchannelsService) List(adClientId string, adUnitId string) *AdunitsCustomchannelsListCall {
-	c := &AdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
@@ -1094,7 +1117,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1103,15 +1126,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AdunitsCustomchannelsListCall) PageToken(pageToken string) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1121,13 +1144,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsCustomchannelsListCall) Context(ctx context.Context) *AdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1135,17 +1158,27 @@
 
 func (c *AdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1241,24 +1274,23 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client.
 func (r *CustomchannelsService) Get(adClientId string, customChannelId string) *CustomchannelsGetCall {
-	c := &CustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsGetCall) Fields(s ...googleapi.Field) *CustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1268,13 +1300,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsGetCall) IfNoneMatch(entityTag string) *CustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsGetCall) Context(ctx context.Context) *CustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1282,17 +1314,21 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1372,17 +1408,16 @@
 // method id "adexchangeseller.customchannels.list":
 
 type CustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for this Ad
 // Exchange account.
 func (r *CustomchannelsService) List(adClientId string) *CustomchannelsListCall {
-	c := &CustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -1391,7 +1426,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *CustomchannelsListCall) MaxResults(maxResults int64) *CustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1400,15 +1435,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *CustomchannelsListCall) PageToken(pageToken string) *CustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsListCall) Fields(s ...googleapi.Field) *CustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1418,13 +1453,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsListCall) IfNoneMatch(entityTag string) *CustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsListCall) Context(ctx context.Context) *CustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1432,16 +1467,26 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1530,14 +1575,13 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *CustomchannelsAdunitsService) List(adClientId string, customChannelId string) *CustomchannelsAdunitsListCall {
-	c := &CustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
@@ -1546,14 +1590,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *CustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *CustomchannelsAdunitsListCall) MaxResults(maxResults int64) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1562,15 +1606,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CustomchannelsAdunitsListCall) PageToken(pageToken string) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1580,13 +1624,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *CustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsAdunitsListCall) Context(ctx context.Context) *CustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1594,17 +1638,30 @@
 
 func (c *CustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1702,33 +1759,34 @@
 // method id "adexchangeseller.reports.generate":
 
 type ReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an Ad Exchange report based on the report request
 // sent in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *ReportsService) Generate(startDate string, endDate string) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *ReportsGenerateCall) Dimension(dimension []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *ReportsGenerateCall) Dimension(dimension string) *ReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *ReportsGenerateCall) Filter(filter []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *ReportsGenerateCall) Filter(filter string) *ReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -1736,21 +1794,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsGenerateCall) Locale(locale string) *ReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsGenerateCall) MaxResults(maxResults int64) *ReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *ReportsGenerateCall) Metric(metric []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *ReportsGenerateCall) Metric(metric string) *ReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -1758,23 +1816,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *ReportsGenerateCall) Sort(sort []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *ReportsGenerateCall) Sort(sort string) *ReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsGenerateCall) StartIndex(startIndex int64) *ReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1784,13 +1842,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGenerateCall) IfNoneMatch(entityTag string) *ReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -1798,14 +1856,41 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1955,15 +2040,14 @@
 type ReportsSavedGenerateCall struct {
 	s             *Service
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an Ad Exchange report based on the saved report ID
 // sent in the query parameters.
 func (r *ReportsSavedService) Generate(savedReportId string) *ReportsSavedGenerateCall {
-	c := &ReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedReportId = savedReportId
 	return c
 }
@@ -1972,29 +2056,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsSavedGenerateCall) Locale(locale string) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsSavedGenerateCall) MaxResults(maxResults int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsSavedGenerateCall) StartIndex(startIndex int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedGenerateCall) Fields(s ...googleapi.Field) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2004,13 +2088,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedGenerateCall) IfNoneMatch(entityTag string) *ReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedGenerateCall) Context(ctx context.Context) *ReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2018,16 +2102,29 @@
 
 func (c *ReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2122,22 +2219,21 @@
 // method id "adexchangeseller.reports.saved.list":
 
 type ReportsSavedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved reports in this Ad Exchange account.
 func (r *ReportsSavedService) List() *ReportsSavedListCall {
-	c := &ReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *ReportsSavedListCall) MaxResults(maxResults int64) *ReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2146,15 +2242,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *ReportsSavedListCall) PageToken(pageToken string) *ReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedListCall) Fields(s ...googleapi.Field) *ReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2164,13 +2260,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedListCall) IfNoneMatch(entityTag string) *ReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedListCall) Context(ctx context.Context) *ReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -2178,14 +2274,24 @@
 
 func (c *ReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2262,17 +2368,16 @@
 // method id "adexchangeseller.urlchannels.list":
 
 type UrlchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for this Ad
 // Exchange account.
 func (r *UrlchannelsService) List(adClientId string) *UrlchannelsListCall {
-	c := &UrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -2280,7 +2385,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *UrlchannelsListCall) MaxResults(maxResults int64) *UrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2289,15 +2394,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *UrlchannelsListCall) PageToken(pageToken string) *UrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsListCall) Fields(s ...googleapi.Field) *UrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2307,13 +2412,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlchannelsListCall) IfNoneMatch(entityTag string) *UrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsListCall) Context(ctx context.Context) *UrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2321,16 +2426,26 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adexchangeseller/v2.0/adexchangeseller-gen.go b/adexchangeseller/v2.0/adexchangeseller-gen.go
index 9f70331..1b31130 100644
--- a/adexchangeseller/v2.0/adexchangeseller-gen.go
+++ b/adexchangeseller/v2.0/adexchangeseller-gen.go
@@ -873,25 +873,24 @@
 // method id "adexchangeseller.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected Ad Exchange account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -901,13 +900,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -915,16 +914,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -997,22 +1000,21 @@
 // method id "adexchangeseller.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all accounts available to this Ad Exchange account.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of accounts to include in the response, used for paging.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1021,15 +1023,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1039,13 +1041,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1053,14 +1055,24 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1137,16 +1149,15 @@
 // method id "adexchangeseller.accounts.adclients.list":
 
 type AccountsAdclientsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all ad clients in this Ad Exchange account.
 func (r *AccountsAdclientsService) List(accountId string) *AccountsAdclientsListCall {
-	c := &AccountsAdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1154,7 +1165,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AccountsAdclientsListCall) MaxResults(maxResults int64) *AccountsAdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1163,15 +1174,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdclientsListCall) PageToken(pageToken string) *AccountsAdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdclientsListCall) Fields(s ...googleapi.Field) *AccountsAdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1181,13 +1192,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdclientsListCall) IfNoneMatch(entityTag string) *AccountsAdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdclientsListCall) Context(ctx context.Context) *AccountsAdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1195,16 +1206,26 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1290,16 +1311,15 @@
 // method id "adexchangeseller.accounts.alerts.list":
 
 type AccountsAlertsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the alerts for this Ad Exchange account.
 func (r *AccountsAlertsService) List(accountId string) *AccountsAlertsListCall {
-	c := &AccountsAlertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAlertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1309,15 +1329,15 @@
 // is not supplied. The AdSense default (English) will be used if the
 // supplied locale is invalid or unsupported.
 func (c *AccountsAlertsListCall) Locale(locale string) *AccountsAlertsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAlertsListCall) Fields(s ...googleapi.Field) *AccountsAlertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1327,13 +1347,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAlertsListCall) IfNoneMatch(entityTag string) *AccountsAlertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAlertsListCall) Context(ctx context.Context) *AccountsAlertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1341,16 +1361,23 @@
 
 func (c *AccountsAlertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/alerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1432,25 +1459,24 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client.
 func (r *AccountsCustomchannelsService) Get(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsGetCall {
-	c := &AccountsCustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsGetCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1460,13 +1486,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsGetCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsGetCall) Context(ctx context.Context) *AccountsCustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1474,9 +1500,13 @@
 
 func (c *AccountsCustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -1484,8 +1514,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1572,18 +1602,17 @@
 // method id "adexchangeseller.accounts.customchannels.list":
 
 type AccountsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for this Ad
 // Exchange account.
 func (r *AccountsCustomchannelsService) List(accountId string, adClientId string) *AccountsCustomchannelsListCall {
-	c := &AccountsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -1593,7 +1622,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1602,15 +1631,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsCustomchannelsListCall) PageToken(pageToken string) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1620,13 +1649,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsListCall) Context(ctx context.Context) *AccountsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1634,17 +1663,27 @@
 
 func (c *AccountsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1737,26 +1776,25 @@
 // method id "adexchangeseller.accounts.metadata.dimensions.list":
 
 type AccountsMetadataDimensionsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the metadata for the dimensions available to this
 // AdExchange account.
 func (r *AccountsMetadataDimensionsService) List(accountId string) *AccountsMetadataDimensionsListCall {
-	c := &AccountsMetadataDimensionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsMetadataDimensionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsMetadataDimensionsListCall) Fields(s ...googleapi.Field) *AccountsMetadataDimensionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1766,13 +1804,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsMetadataDimensionsListCall) IfNoneMatch(entityTag string) *AccountsMetadataDimensionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsMetadataDimensionsListCall) Context(ctx context.Context) *AccountsMetadataDimensionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1780,16 +1818,20 @@
 
 func (c *AccountsMetadataDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/metadata/dimensions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1862,26 +1904,25 @@
 // method id "adexchangeseller.accounts.metadata.metrics.list":
 
 type AccountsMetadataMetricsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the metadata for the metrics available to this AdExchange
 // account.
 func (r *AccountsMetadataMetricsService) List(accountId string) *AccountsMetadataMetricsListCall {
-	c := &AccountsMetadataMetricsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsMetadataMetricsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsMetadataMetricsListCall) Fields(s ...googleapi.Field) *AccountsMetadataMetricsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1891,13 +1932,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsMetadataMetricsListCall) IfNoneMatch(entityTag string) *AccountsMetadataMetricsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsMetadataMetricsListCall) Context(ctx context.Context) *AccountsMetadataMetricsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1905,16 +1946,20 @@
 
 func (c *AccountsMetadataMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/metadata/metrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1987,27 +2032,26 @@
 // method id "adexchangeseller.accounts.preferreddeals.get":
 
 type AccountsPreferreddealsGetCall struct {
-	s            *Service
-	accountId    string
-	dealId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	dealId    string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected Ad Exchange Preferred Deal.
 func (r *AccountsPreferreddealsService) Get(accountId string, dealId string) *AccountsPreferreddealsGetCall {
-	c := &AccountsPreferreddealsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPreferreddealsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.dealId = dealId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPreferreddealsGetCall) Fields(s ...googleapi.Field) *AccountsPreferreddealsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2017,13 +2061,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsPreferreddealsGetCall) IfNoneMatch(entityTag string) *AccountsPreferreddealsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPreferreddealsGetCall) Context(ctx context.Context) *AccountsPreferreddealsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2031,17 +2075,21 @@
 
 func (c *AccountsPreferreddealsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/preferreddeals/{dealId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 		"dealId":    c.dealId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2121,25 +2169,24 @@
 // method id "adexchangeseller.accounts.preferreddeals.list":
 
 type AccountsPreferreddealsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the preferred deals for this Ad Exchange account.
 func (r *AccountsPreferreddealsService) List(accountId string) *AccountsPreferreddealsListCall {
-	c := &AccountsPreferreddealsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPreferreddealsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPreferreddealsListCall) Fields(s ...googleapi.Field) *AccountsPreferreddealsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2149,13 +2196,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsPreferreddealsListCall) IfNoneMatch(entityTag string) *AccountsPreferreddealsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPreferreddealsListCall) Context(ctx context.Context) *AccountsPreferreddealsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2163,16 +2210,20 @@
 
 func (c *AccountsPreferreddealsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/preferreddeals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2245,35 +2296,36 @@
 // method id "adexchangeseller.accounts.reports.generate":
 
 type AccountsReportsGenerateCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an Ad Exchange report based on the report request
 // sent in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *AccountsReportsService) Generate(accountId string, startDate string, endDate string) *AccountsReportsGenerateCall {
-	c := &AccountsReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *AccountsReportsGenerateCall) Dimension(dimension []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *AccountsReportsGenerateCall) Dimension(dimension string) *AccountsReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *AccountsReportsGenerateCall) Filter(filter []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *AccountsReportsGenerateCall) Filter(filter string) *AccountsReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -2281,21 +2333,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsGenerateCall) Locale(locale string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsGenerateCall) MaxResults(maxResults int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *AccountsReportsGenerateCall) Metric(metric []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *AccountsReportsGenerateCall) Metric(metric string) *AccountsReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -2303,23 +2355,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *AccountsReportsGenerateCall) Sort(sort []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *AccountsReportsGenerateCall) Sort(sort string) *AccountsReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsGenerateCall) StartIndex(startIndex int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2329,13 +2381,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsGenerateCall) Context(ctx context.Context) *AccountsReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2343,16 +2395,43 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2510,15 +2589,14 @@
 	s             *Service
 	accountId     string
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an Ad Exchange report based on the saved report ID
 // sent in the query parameters.
 func (r *AccountsReportsSavedService) Generate(accountId string, savedReportId string) *AccountsReportsSavedGenerateCall {
-	c := &AccountsReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedReportId = savedReportId
 	return c
@@ -2528,29 +2606,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsSavedGenerateCall) Locale(locale string) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsSavedGenerateCall) MaxResults(maxResults int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsSavedGenerateCall) StartIndex(startIndex int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2560,13 +2638,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedGenerateCall) Context(ctx context.Context) *AccountsReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2574,17 +2652,30 @@
 
 func (c *AccountsReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2686,16 +2777,15 @@
 // method id "adexchangeseller.accounts.reports.saved.list":
 
 type AccountsReportsSavedListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved reports in this Ad Exchange account.
 func (r *AccountsReportsSavedService) List(accountId string) *AccountsReportsSavedListCall {
-	c := &AccountsReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -2703,7 +2793,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *AccountsReportsSavedListCall) MaxResults(maxResults int64) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2712,15 +2802,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsReportsSavedListCall) PageToken(pageToken string) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedListCall) Fields(s ...googleapi.Field) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2730,13 +2820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedListCall) IfNoneMatch(entityTag string) *AccountsReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedListCall) Context(ctx context.Context) *AccountsReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -2744,16 +2834,26 @@
 
 func (c *AccountsReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2839,18 +2939,17 @@
 // method id "adexchangeseller.accounts.urlchannels.list":
 
 type AccountsUrlchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for this Ad
 // Exchange account.
 func (r *AccountsUrlchannelsService) List(accountId string, adClientId string) *AccountsUrlchannelsListCall {
-	c := &AccountsUrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -2859,7 +2958,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *AccountsUrlchannelsListCall) MaxResults(maxResults int64) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2868,15 +2967,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsUrlchannelsListCall) PageToken(pageToken string) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUrlchannelsListCall) Fields(s ...googleapi.Field) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2886,13 +2985,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsUrlchannelsListCall) IfNoneMatch(entityTag string) *AccountsUrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUrlchannelsListCall) Context(ctx context.Context) *AccountsUrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2900,17 +2999,27 @@
 
 func (c *AccountsUrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/admin/datatransfer/v1/admin-gen.go b/admin/datatransfer/v1/admin-gen.go
index 56dcf2b..ff30b18 100644
--- a/admin/datatransfer/v1/admin-gen.go
+++ b/admin/datatransfer/v1/admin-gen.go
@@ -317,24 +317,23 @@
 type ApplicationsGetCall struct {
 	s             *Service
 	applicationId int64
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Retrieves information about an application for the given
 // application ID.
 func (r *ApplicationsService) Get(applicationId int64) *ApplicationsGetCall {
-	c := &ApplicationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApplicationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApplicationsGetCall) Fields(s ...googleapi.Field) *ApplicationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -344,13 +343,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ApplicationsGetCall) IfNoneMatch(entityTag string) *ApplicationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApplicationsGetCall) Context(ctx context.Context) *ApplicationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -358,16 +357,20 @@
 
 func (c *ApplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": strconv.FormatInt(c.applicationId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -441,45 +444,44 @@
 // method id "datatransfer.applications.list":
 
 type ApplicationsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the applications available for data transfer for a
 // customer.
 func (r *ApplicationsService) List() *ApplicationsListCall {
-	c := &ApplicationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApplicationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // CustomerId sets the optional parameter "customerId": Immutable ID of
 // the Google Apps account.
 func (c *ApplicationsListCall) CustomerId(customerId string) *ApplicationsListCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 100.
 func (c *ApplicationsListCall) MaxResults(maxResults int64) *ApplicationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list.
 func (c *ApplicationsListCall) PageToken(pageToken string) *ApplicationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApplicationsListCall) Fields(s ...googleapi.Field) *ApplicationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -489,13 +491,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ApplicationsListCall) IfNoneMatch(entityTag string) *ApplicationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApplicationsListCall) Context(ctx context.Context) *ApplicationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -503,14 +505,27 @@
 
 func (c *ApplicationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -594,23 +609,22 @@
 type TransfersGetCall struct {
 	s              *Service
 	dataTransferId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Retrieves a data transfer request by its resource ID.
 func (r *TransfersService) Get(dataTransferId string) *TransfersGetCall {
-	c := &TransfersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransfersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.dataTransferId = dataTransferId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransfersGetCall) Fields(s ...googleapi.Field) *TransfersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -620,13 +634,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TransfersGetCall) IfNoneMatch(entityTag string) *TransfersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransfersGetCall) Context(ctx context.Context) *TransfersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -634,16 +648,20 @@
 
 func (c *TransfersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "transfers/{dataTransferId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"dataTransferId": c.dataTransferId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -718,28 +736,28 @@
 type TransfersInsertCall struct {
 	s            *Service
 	datatransfer *DataTransfer
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Inserts a data transfer request.
 func (r *TransfersService) Insert(datatransfer *DataTransfer) *TransfersInsertCall {
-	c := &TransfersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransfersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datatransfer = datatransfer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransfersInsertCall) Fields(s ...googleapi.Field) *TransfersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransfersInsertCall) Context(ctx context.Context) *TransfersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -752,9 +770,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "transfers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -821,65 +843,64 @@
 // method id "datatransfer.transfers.list":
 
 type TransfersListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the transfers for a customer by source user, destination
 // user, or status.
 func (r *TransfersService) List() *TransfersListCall {
-	c := &TransfersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransfersListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // CustomerId sets the optional parameter "customerId": Immutable ID of
 // the Google Apps account.
 func (c *TransfersListCall) CustomerId(customerId string) *TransfersListCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 100.
 func (c *TransfersListCall) MaxResults(maxResults int64) *TransfersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // NewOwnerUserId sets the optional parameter "newOwnerUserId":
 // Destination user's profile ID.
 func (c *TransfersListCall) NewOwnerUserId(newOwnerUserId string) *TransfersListCall {
-	c.urlParams_.Set("newOwnerUserId", newOwnerUserId)
+	c.opt_["newOwnerUserId"] = newOwnerUserId
 	return c
 }
 
 // OldOwnerUserId sets the optional parameter "oldOwnerUserId": Source
 // user's profile ID.
 func (c *TransfersListCall) OldOwnerUserId(oldOwnerUserId string) *TransfersListCall {
-	c.urlParams_.Set("oldOwnerUserId", oldOwnerUserId)
+	c.opt_["oldOwnerUserId"] = oldOwnerUserId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // the next page in the list.
 func (c *TransfersListCall) PageToken(pageToken string) *TransfersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Status sets the optional parameter "status": Status of the transfer.
 func (c *TransfersListCall) Status(status string) *TransfersListCall {
-	c.urlParams_.Set("status", status)
+	c.opt_["status"] = status
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransfersListCall) Fields(s ...googleapi.Field) *TransfersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -889,13 +910,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TransfersListCall) IfNoneMatch(entityTag string) *TransfersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransfersListCall) Context(ctx context.Context) *TransfersListCall {
 	c.ctx_ = ctx
 	return c
@@ -903,14 +924,36 @@
 
 func (c *TransfersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["newOwnerUserId"]; ok {
+		params.Set("newOwnerUserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["oldOwnerUserId"]; ok {
+		params.Set("oldOwnerUserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "transfers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/admin/directory/v1/admin-gen.go b/admin/directory/v1/admin-gen.go
index cc667d0..e38aa6c 100644
--- a/admin/directory/v1/admin-gen.go
+++ b/admin/directory/v1/admin-gen.go
@@ -2136,32 +2136,32 @@
 // method id "directory.asps.delete":
 
 type AspsDeleteCall struct {
-	s          *Service
-	userKey    string
-	codeId     int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	codeId  int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Delete an ASP issued by a user.
 func (r *AspsService) Delete(userKey string, codeId int64) *AspsDeleteCall {
-	c := &AspsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AspsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.codeId = codeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AspsDeleteCall) Fields(s ...googleapi.Field) *AspsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AspsDeleteCall) Context(ctx context.Context) *AspsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2169,9 +2169,13 @@
 
 func (c *AspsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/asps/{codeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -2229,27 +2233,26 @@
 // method id "directory.asps.get":
 
 type AspsGetCall struct {
-	s            *Service
-	userKey      string
-	codeId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	codeId  int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Get information about an ASP issued by a user.
 func (r *AspsService) Get(userKey string, codeId int64) *AspsGetCall {
-	c := &AspsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AspsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.codeId = codeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AspsGetCall) Fields(s ...googleapi.Field) *AspsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2259,13 +2262,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AspsGetCall) IfNoneMatch(entityTag string) *AspsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AspsGetCall) Context(ctx context.Context) *AspsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2273,17 +2276,21 @@
 
 func (c *AspsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/asps/{codeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 		"codeId":  strconv.FormatInt(c.codeId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2363,25 +2370,24 @@
 // method id "directory.asps.list":
 
 type AspsListCall struct {
-	s            *Service
-	userKey      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: List the ASPs issued by a user.
 func (r *AspsService) List(userKey string) *AspsListCall {
-	c := &AspsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AspsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AspsListCall) Fields(s ...googleapi.Field) *AspsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2391,13 +2397,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AspsListCall) IfNoneMatch(entityTag string) *AspsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AspsListCall) Context(ctx context.Context) *AspsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2405,16 +2411,20 @@
 
 func (c *AspsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/asps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2486,30 +2496,30 @@
 // method id "admin.channels.stop":
 
 type ChannelsStopCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Stop: Stop watching resources through this channel
 func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
-	c := &ChannelsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -2522,9 +2532,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "/admin/directory_v1/channels/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2568,17 +2582,16 @@
 // method id "directory.chromeosdevices.get":
 
 type ChromeosdevicesGetCall struct {
-	s            *Service
-	customerId   string
-	deviceId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	deviceId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieve Chrome OS Device
 func (r *ChromeosdevicesService) Get(customerId string, deviceId string) *ChromeosdevicesGetCall {
-	c := &ChromeosdevicesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChromeosdevicesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.deviceId = deviceId
 	return c
@@ -2592,15 +2605,15 @@
 // serialNumber, status, and user)
 //   "FULL" - Includes all metadata fields
 func (c *ChromeosdevicesGetCall) Projection(projection string) *ChromeosdevicesGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChromeosdevicesGetCall) Fields(s ...googleapi.Field) *ChromeosdevicesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2610,13 +2623,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChromeosdevicesGetCall) IfNoneMatch(entityTag string) *ChromeosdevicesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChromeosdevicesGetCall) Context(ctx context.Context) *ChromeosdevicesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2624,17 +2637,24 @@
 
 func (c *ChromeosdevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/chromeos/{deviceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 		"deviceId":   c.deviceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2727,16 +2747,15 @@
 // method id "directory.chromeosdevices.list":
 
 type ChromeosdevicesListCall struct {
-	s            *Service
-	customerId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieve all Chrome OS Devices of a customer (paginated)
 func (r *ChromeosdevicesService) List(customerId string) *ChromeosdevicesListCall {
-	c := &ChromeosdevicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChromeosdevicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	return c
 }
@@ -2744,7 +2763,7 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 100
 func (c *ChromeosdevicesListCall) MaxResults(maxResults int64) *ChromeosdevicesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2761,14 +2780,14 @@
 //   "status" - Chromebook status.
 //   "supportEndDate" - Chromebook support end date.
 func (c *ChromeosdevicesListCall) OrderBy(orderBy string) *ChromeosdevicesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *ChromeosdevicesListCall) PageToken(pageToken string) *ChromeosdevicesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2780,7 +2799,7 @@
 // serialNumber, status, and user)
 //   "FULL" - Includes all metadata fields
 func (c *ChromeosdevicesListCall) Projection(projection string) *ChromeosdevicesListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -2788,7 +2807,7 @@
 // format given at
 // http://support.google.com/chromeos/a/bin/answer.py?hl=en&answer=1698333
 func (c *ChromeosdevicesListCall) Query(query string) *ChromeosdevicesListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
@@ -2800,15 +2819,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" - Descending order.
 func (c *ChromeosdevicesListCall) SortOrder(sortOrder string) *ChromeosdevicesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChromeosdevicesListCall) Fields(s ...googleapi.Field) *ChromeosdevicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2818,13 +2837,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChromeosdevicesListCall) IfNoneMatch(entityTag string) *ChromeosdevicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChromeosdevicesListCall) Context(ctx context.Context) *ChromeosdevicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2832,16 +2851,38 @@
 
 func (c *ChromeosdevicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/chromeos")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2984,13 +3025,13 @@
 	customerId     string
 	deviceId       string
 	chromeosdevice *ChromeOsDevice
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Update Chrome OS Device. This method supports patch semantics.
 func (r *ChromeosdevicesService) Patch(customerId string, deviceId string, chromeosdevice *ChromeOsDevice) *ChromeosdevicesPatchCall {
-	c := &ChromeosdevicesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChromeosdevicesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.deviceId = deviceId
 	c.chromeosdevice = chromeosdevice
@@ -3005,21 +3046,21 @@
 // serialNumber, status, and user)
 //   "FULL" - Includes all metadata fields
 func (c *ChromeosdevicesPatchCall) Projection(projection string) *ChromeosdevicesPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChromeosdevicesPatchCall) Fields(s ...googleapi.Field) *ChromeosdevicesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChromeosdevicesPatchCall) Context(ctx context.Context) *ChromeosdevicesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3032,9 +3073,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/chromeos/{deviceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -3139,13 +3187,13 @@
 	customerId     string
 	deviceId       string
 	chromeosdevice *ChromeOsDevice
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Update Chrome OS Device
 func (r *ChromeosdevicesService) Update(customerId string, deviceId string, chromeosdevice *ChromeOsDevice) *ChromeosdevicesUpdateCall {
-	c := &ChromeosdevicesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChromeosdevicesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.deviceId = deviceId
 	c.chromeosdevice = chromeosdevice
@@ -3160,21 +3208,21 @@
 // serialNumber, status, and user)
 //   "FULL" - Includes all metadata fields
 func (c *ChromeosdevicesUpdateCall) Projection(projection string) *ChromeosdevicesUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChromeosdevicesUpdateCall) Fields(s ...googleapi.Field) *ChromeosdevicesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChromeosdevicesUpdateCall) Context(ctx context.Context) *ChromeosdevicesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3187,9 +3235,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/chromeos/{deviceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -3290,30 +3345,30 @@
 // method id "directory.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	groupKey   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	groupKey string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Delete Group
 func (r *GroupsService) Delete(groupKey string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3321,9 +3376,13 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
@@ -3372,25 +3431,24 @@
 // method id "directory.groups.get":
 
 type GroupsGetCall struct {
-	s            *Service
-	groupKey     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	groupKey string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieve Group
 func (r *GroupsService) Get(groupKey string) *GroupsGetCall {
-	c := &GroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3400,13 +3458,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3414,16 +3472,20 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3496,30 +3558,30 @@
 // method id "directory.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	group *Group
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Insert: Create Group
 func (r *GroupsService) Insert(group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3532,9 +3594,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3601,15 +3667,14 @@
 // method id "directory.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieve all groups in a domain (paginated)
 func (r *GroupsService) List() *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -3617,7 +3682,7 @@
 // Google Apps account. In case of multi-domain, to fetch all groups for
 // a customer, fill this field instead of domain.
 func (c *GroupsListCall) Customer(customer string) *GroupsListCall {
-	c.urlParams_.Set("customer", customer)
+	c.opt_["customer"] = customer
 	return c
 }
 
@@ -3625,21 +3690,21 @@
 // this field to get groups from only this domain. To return all groups
 // in a multi-domain fill customer field instead.
 func (c *GroupsListCall) Domain(domain string) *GroupsListCall {
-	c.urlParams_.Set("domain", domain)
+	c.opt_["domain"] = domain
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 200
 func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3647,15 +3712,15 @@
 // of the user if only those groups are to be listed, the given user is
 // a member of. If Id, it should match with id of user object
 func (c *GroupsListCall) UserKey(userKey string) *GroupsListCall {
-	c.urlParams_.Set("userKey", userKey)
+	c.opt_["userKey"] = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3665,13 +3730,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3679,14 +3744,33 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customer"]; ok {
+		params.Set("customer", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["domain"]; ok {
+		params.Set("domain", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userKey"]; ok {
+		params.Set("userKey", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3777,32 +3861,32 @@
 // method id "directory.groups.patch":
 
 type GroupsPatchCall struct {
-	s          *Service
-	groupKey   string
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	groupKey string
+	group    *Group
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Patch: Update Group. This method supports patch semantics.
 func (r *GroupsService) Patch(groupKey string, group *Group) *GroupsPatchCall {
-	c := &GroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsPatchCall) Fields(s ...googleapi.Field) *GroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsPatchCall) Context(ctx context.Context) *GroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3815,9 +3899,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
@@ -3897,32 +3985,32 @@
 // method id "directory.groups.update":
 
 type GroupsUpdateCall struct {
-	s          *Service
-	groupKey   string
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	groupKey string
+	group    *Group
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Update Group
 func (r *GroupsService) Update(groupKey string, group *Group) *GroupsUpdateCall {
-	c := &GroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsUpdateCall) Fields(s ...googleapi.Field) *GroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsUpdateCall) Context(ctx context.Context) *GroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3935,9 +4023,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
@@ -4017,32 +4109,32 @@
 // method id "directory.groups.aliases.delete":
 
 type GroupsAliasesDeleteCall struct {
-	s          *Service
-	groupKey   string
-	alias      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	groupKey string
+	alias    string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Remove a alias for the group
 func (r *GroupsAliasesService) Delete(groupKey string, alias string) *GroupsAliasesDeleteCall {
-	c := &GroupsAliasesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAliasesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.alias = alias
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAliasesDeleteCall) Fields(s ...googleapi.Field) *GroupsAliasesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAliasesDeleteCall) Context(ctx context.Context) *GroupsAliasesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4050,9 +4142,13 @@
 
 func (c *GroupsAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/aliases/{alias}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
@@ -4109,32 +4205,32 @@
 // method id "directory.groups.aliases.insert":
 
 type GroupsAliasesInsertCall struct {
-	s          *Service
-	groupKey   string
-	alias      *Alias
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	groupKey string
+	alias    *Alias
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Add a alias for the group
 func (r *GroupsAliasesService) Insert(groupKey string, alias *Alias) *GroupsAliasesInsertCall {
-	c := &GroupsAliasesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAliasesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.alias = alias
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAliasesInsertCall) Fields(s ...googleapi.Field) *GroupsAliasesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAliasesInsertCall) Context(ctx context.Context) *GroupsAliasesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4147,9 +4243,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/aliases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
@@ -4229,25 +4329,24 @@
 // method id "directory.groups.aliases.list":
 
 type GroupsAliasesListCall struct {
-	s            *Service
-	groupKey     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	groupKey string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: List all aliases for a group
 func (r *GroupsAliasesService) List(groupKey string) *GroupsAliasesListCall {
-	c := &GroupsAliasesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAliasesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAliasesListCall) Fields(s ...googleapi.Field) *GroupsAliasesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4257,13 +4356,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsAliasesListCall) IfNoneMatch(entityTag string) *GroupsAliasesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAliasesListCall) Context(ctx context.Context) *GroupsAliasesListCall {
 	c.ctx_ = ctx
 	return c
@@ -4271,16 +4370,20 @@
 
 func (c *GroupsAliasesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/aliases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4354,32 +4457,32 @@
 // method id "directory.members.delete":
 
 type MembersDeleteCall struct {
-	s          *Service
-	groupKey   string
-	memberKey  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	groupKey  string
+	memberKey string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Remove membership.
 func (r *MembersService) Delete(groupKey string, memberKey string) *MembersDeleteCall {
-	c := &MembersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MembersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.memberKey = memberKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MembersDeleteCall) Fields(s ...googleapi.Field) *MembersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MembersDeleteCall) Context(ctx context.Context) *MembersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4387,9 +4490,13 @@
 
 func (c *MembersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/members/{memberKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey":  c.groupKey,
@@ -4447,27 +4554,26 @@
 // method id "directory.members.get":
 
 type MembersGetCall struct {
-	s            *Service
-	groupKey     string
-	memberKey    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	groupKey  string
+	memberKey string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieve Group Member
 func (r *MembersService) Get(groupKey string, memberKey string) *MembersGetCall {
-	c := &MembersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MembersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.memberKey = memberKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MembersGetCall) Fields(s ...googleapi.Field) *MembersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4477,13 +4583,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MembersGetCall) IfNoneMatch(entityTag string) *MembersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MembersGetCall) Context(ctx context.Context) *MembersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4491,17 +4597,21 @@
 
 func (c *MembersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/members/{memberKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey":  c.groupKey,
 		"memberKey": c.memberKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4583,32 +4693,32 @@
 // method id "directory.members.insert":
 
 type MembersInsertCall struct {
-	s          *Service
-	groupKey   string
-	member     *Member
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	groupKey string
+	member   *Member
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Add user to the specified group.
 func (r *MembersService) Insert(groupKey string, member *Member) *MembersInsertCall {
-	c := &MembersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MembersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.member = member
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MembersInsertCall) Fields(s ...googleapi.Field) *MembersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MembersInsertCall) Context(ctx context.Context) *MembersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4621,9 +4731,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/members")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
@@ -4704,16 +4818,15 @@
 // method id "directory.members.list":
 
 type MembersListCall struct {
-	s            *Service
-	groupKey     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	groupKey string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Retrieve all members in a group (paginated)
 func (r *MembersService) List(groupKey string) *MembersListCall {
-	c := &MembersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MembersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	return c
 }
@@ -4721,29 +4834,29 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 200
 func (c *MembersListCall) MaxResults(maxResults int64) *MembersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *MembersListCall) PageToken(pageToken string) *MembersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Roles sets the optional parameter "roles": Comma separated role
 // values to filter list results on.
 func (c *MembersListCall) Roles(roles string) *MembersListCall {
-	c.urlParams_.Set("roles", roles)
+	c.opt_["roles"] = roles
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MembersListCall) Fields(s ...googleapi.Field) *MembersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4753,13 +4866,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MembersListCall) IfNoneMatch(entityTag string) *MembersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MembersListCall) Context(ctx context.Context) *MembersListCall {
 	c.ctx_ = ctx
 	return c
@@ -4767,16 +4880,29 @@
 
 func (c *MembersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["roles"]; ok {
+		params.Set("roles", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/members")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey": c.groupKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4868,35 +4994,35 @@
 // method id "directory.members.patch":
 
 type MembersPatchCall struct {
-	s          *Service
-	groupKey   string
-	memberKey  string
-	member     *Member
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	groupKey  string
+	memberKey string
+	member    *Member
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Update membership of a user in the specified group. This
 // method supports patch semantics.
 func (r *MembersService) Patch(groupKey string, memberKey string, member *Member) *MembersPatchCall {
-	c := &MembersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MembersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.memberKey = memberKey
 	c.member = member
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MembersPatchCall) Fields(s ...googleapi.Field) *MembersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MembersPatchCall) Context(ctx context.Context) *MembersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4909,9 +5035,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/members/{memberKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey":  c.groupKey,
@@ -5000,34 +5130,34 @@
 // method id "directory.members.update":
 
 type MembersUpdateCall struct {
-	s          *Service
-	groupKey   string
-	memberKey  string
-	member     *Member
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	groupKey  string
+	memberKey string
+	member    *Member
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Update membership of a user in the specified group.
 func (r *MembersService) Update(groupKey string, memberKey string, member *Member) *MembersUpdateCall {
-	c := &MembersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MembersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupKey = groupKey
 	c.memberKey = memberKey
 	c.member = member
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MembersUpdateCall) Fields(s ...googleapi.Field) *MembersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MembersUpdateCall) Context(ctx context.Context) *MembersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5040,9 +5170,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups/{groupKey}/members/{memberKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupKey":  c.groupKey,
@@ -5135,30 +5269,30 @@
 	customerId         string
 	resourceId         string
 	mobiledeviceaction *MobileDeviceAction
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Action: Take action on Mobile Device
 func (r *MobiledevicesService) Action(customerId string, resourceId string, mobiledeviceaction *MobileDeviceAction) *MobiledevicesActionCall {
-	c := &MobiledevicesActionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobiledevicesActionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.resourceId = resourceId
 	c.mobiledeviceaction = mobiledeviceaction
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobiledevicesActionCall) Fields(s ...googleapi.Field) *MobiledevicesActionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobiledevicesActionCall) Context(ctx context.Context) *MobiledevicesActionCall {
 	c.ctx_ = ctx
 	return c
@@ -5171,9 +5305,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/mobile/{resourceId}/action")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -5238,29 +5376,29 @@
 	s          *Service
 	customerId string
 	resourceId string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Delete Mobile Device
 func (r *MobiledevicesService) Delete(customerId string, resourceId string) *MobiledevicesDeleteCall {
-	c := &MobiledevicesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobiledevicesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.resourceId = resourceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobiledevicesDeleteCall) Fields(s ...googleapi.Field) *MobiledevicesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobiledevicesDeleteCall) Context(ctx context.Context) *MobiledevicesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5268,9 +5406,13 @@
 
 func (c *MobiledevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/mobile/{resourceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -5327,17 +5469,16 @@
 // method id "directory.mobiledevices.get":
 
 type MobiledevicesGetCall struct {
-	s            *Service
-	customerId   string
-	resourceId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	resourceId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieve Mobile Device
 func (r *MobiledevicesService) Get(customerId string, resourceId string) *MobiledevicesGetCall {
-	c := &MobiledevicesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobiledevicesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.resourceId = resourceId
 	return c
@@ -5351,15 +5492,15 @@
 // model, status, type, and status)
 //   "FULL" - Includes all metadata fields
 func (c *MobiledevicesGetCall) Projection(projection string) *MobiledevicesGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobiledevicesGetCall) Fields(s ...googleapi.Field) *MobiledevicesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5369,13 +5510,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobiledevicesGetCall) IfNoneMatch(entityTag string) *MobiledevicesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobiledevicesGetCall) Context(ctx context.Context) *MobiledevicesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5383,17 +5524,24 @@
 
 func (c *MobiledevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/mobile/{resourceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 		"resourceId": c.resourceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5487,16 +5635,15 @@
 // method id "directory.mobiledevices.list":
 
 type MobiledevicesListCall struct {
-	s            *Service
-	customerId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieve all Mobile Devices of a customer (paginated)
 func (r *MobiledevicesService) List(customerId string) *MobiledevicesListCall {
-	c := &MobiledevicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobiledevicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	return c
 }
@@ -5504,7 +5651,7 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 100
 func (c *MobiledevicesListCall) MaxResults(maxResults int64) *MobiledevicesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5521,14 +5668,14 @@
 //   "status" - Status of the device.
 //   "type" - Type of the device.
 func (c *MobiledevicesListCall) OrderBy(orderBy string) *MobiledevicesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *MobiledevicesListCall) PageToken(pageToken string) *MobiledevicesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -5540,7 +5687,7 @@
 // model, status, type, and status)
 //   "FULL" - Includes all metadata fields
 func (c *MobiledevicesListCall) Projection(projection string) *MobiledevicesListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -5548,7 +5695,7 @@
 // format given at
 // http://support.google.com/a/bin/answer.py?hl=en&answer=1408863#search
 func (c *MobiledevicesListCall) Query(query string) *MobiledevicesListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
@@ -5560,15 +5707,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" - Descending order.
 func (c *MobiledevicesListCall) SortOrder(sortOrder string) *MobiledevicesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobiledevicesListCall) Fields(s ...googleapi.Field) *MobiledevicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5578,13 +5725,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobiledevicesListCall) IfNoneMatch(entityTag string) *MobiledevicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobiledevicesListCall) Context(ctx context.Context) *MobiledevicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5592,16 +5739,38 @@
 
 func (c *MobiledevicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/mobile")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5746,29 +5915,29 @@
 	s              *Service
 	customer       string
 	notificationId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes a notification
 func (r *NotificationsService) Delete(customer string, notificationId string) *NotificationsDeleteCall {
-	c := &NotificationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NotificationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	c.notificationId = notificationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NotificationsDeleteCall) Fields(s ...googleapi.Field) *NotificationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NotificationsDeleteCall) Context(ctx context.Context) *NotificationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5776,9 +5945,13 @@
 
 func (c *NotificationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customer}/notifications/{notificationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customer":       c.customer,
@@ -5838,24 +6011,23 @@
 	s              *Service
 	customer       string
 	notificationId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Retrieves a notification.
 func (r *NotificationsService) Get(customer string, notificationId string) *NotificationsGetCall {
-	c := &NotificationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NotificationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	c.notificationId = notificationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NotificationsGetCall) Fields(s ...googleapi.Field) *NotificationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5865,13 +6037,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NotificationsGetCall) IfNoneMatch(entityTag string) *NotificationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NotificationsGetCall) Context(ctx context.Context) *NotificationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5879,17 +6051,21 @@
 
 func (c *NotificationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customer}/notifications/{notificationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customer":       c.customer,
 		"notificationId": c.notificationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5968,16 +6144,15 @@
 // method id "directory.notifications.list":
 
 type NotificationsListCall struct {
-	s            *Service
-	customer     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	customer string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Retrieves a list of notifications.
 func (r *NotificationsService) List(customer string) *NotificationsListCall {
-	c := &NotificationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NotificationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	return c
 }
@@ -5986,29 +6161,29 @@
 // of the language notifications are returned in. The default is English
 // (en).
 func (c *NotificationsListCall) Language(language string) *NotificationsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of notifications to return per page. The default is 100.
 func (c *NotificationsListCall) MaxResults(maxResults int64) *NotificationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token to
 // specify the page of results to retrieve.
 func (c *NotificationsListCall) PageToken(pageToken string) *NotificationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NotificationsListCall) Fields(s ...googleapi.Field) *NotificationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6018,13 +6193,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NotificationsListCall) IfNoneMatch(entityTag string) *NotificationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NotificationsListCall) Context(ctx context.Context) *NotificationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6032,16 +6207,29 @@
 
 func (c *NotificationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customer}/notifications")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customer": c.customer,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6133,30 +6321,30 @@
 	customer       string
 	notificationId string
 	notification   *Notification
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates a notification. This method supports patch semantics.
 func (r *NotificationsService) Patch(customer string, notificationId string, notification *Notification) *NotificationsPatchCall {
-	c := &NotificationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NotificationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	c.notificationId = notificationId
 	c.notification = notification
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NotificationsPatchCall) Fields(s ...googleapi.Field) *NotificationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NotificationsPatchCall) Context(ctx context.Context) *NotificationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6169,9 +6357,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customer}/notifications/{notificationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customer":       c.customer,
@@ -6263,30 +6455,30 @@
 	customer       string
 	notificationId string
 	notification   *Notification
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates a notification.
 func (r *NotificationsService) Update(customer string, notificationId string, notification *Notification) *NotificationsUpdateCall {
-	c := &NotificationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NotificationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	c.notificationId = notificationId
 	c.notification = notification
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NotificationsUpdateCall) Fields(s ...googleapi.Field) *NotificationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NotificationsUpdateCall) Context(ctx context.Context) *NotificationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6299,9 +6491,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customer}/notifications/{notificationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customer":       c.customer,
@@ -6392,29 +6588,29 @@
 	s           *Service
 	customerId  string
 	orgUnitPath []string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Remove Organization Unit
 func (r *OrgunitsService) Delete(customerId string, orgUnitPath []string) *OrgunitsDeleteCall {
-	c := &OrgunitsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrgunitsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
-	c.orgUnitPath = append([]string{}, orgUnitPath...)
+	c.orgUnitPath = orgUnitPath
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrgunitsDeleteCall) Fields(s ...googleapi.Field) *OrgunitsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrgunitsDeleteCall) Context(ctx context.Context) *OrgunitsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6422,9 +6618,13 @@
 
 func (c *OrgunitsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/orgunits{/orgUnitPath*}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":  c.customerId,
@@ -6482,27 +6682,26 @@
 // method id "directory.orgunits.get":
 
 type OrgunitsGetCall struct {
-	s            *Service
-	customerId   string
-	orgUnitPath  []string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	customerId  string
+	orgUnitPath []string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Retrieve Organization Unit
 func (r *OrgunitsService) Get(customerId string, orgUnitPath []string) *OrgunitsGetCall {
-	c := &OrgunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrgunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
-	c.orgUnitPath = append([]string{}, orgUnitPath...)
+	c.orgUnitPath = orgUnitPath
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrgunitsGetCall) Fields(s ...googleapi.Field) *OrgunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6512,13 +6711,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrgunitsGetCall) IfNoneMatch(entityTag string) *OrgunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrgunitsGetCall) Context(ctx context.Context) *OrgunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6526,17 +6725,21 @@
 
 func (c *OrgunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/orgunits{/orgUnitPath*}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":  c.customerId,
 		"orgUnitPath": c.orgUnitPath[0],
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6620,29 +6823,29 @@
 	s          *Service
 	customerId string
 	orgunit    *OrgUnit
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Add Organization Unit
 func (r *OrgunitsService) Insert(customerId string, orgunit *OrgUnit) *OrgunitsInsertCall {
-	c := &OrgunitsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrgunitsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.orgunit = orgunit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrgunitsInsertCall) Fields(s ...googleapi.Field) *OrgunitsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrgunitsInsertCall) Context(ctx context.Context) *OrgunitsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6655,9 +6858,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/orgunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -6737,16 +6944,15 @@
 // method id "directory.orgunits.list":
 
 type OrgunitsListCall struct {
-	s            *Service
-	customerId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieve all Organization Units
 func (r *OrgunitsService) List(customerId string) *OrgunitsListCall {
-	c := &OrgunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrgunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	return c
 }
@@ -6754,7 +6960,7 @@
 // OrgUnitPath sets the optional parameter "orgUnitPath": the
 // URL-encoded organization unit's path or its Id
 func (c *OrgunitsListCall) OrgUnitPath(orgUnitPath string) *OrgunitsListCall {
-	c.urlParams_.Set("orgUnitPath", orgUnitPath)
+	c.opt_["orgUnitPath"] = orgUnitPath
 	return c
 }
 
@@ -6765,15 +6971,15 @@
 //   "all" - All sub-organization units.
 //   "children" - Immediate children only (default).
 func (c *OrgunitsListCall) Type(type_ string) *OrgunitsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrgunitsListCall) Fields(s ...googleapi.Field) *OrgunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6783,13 +6989,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrgunitsListCall) IfNoneMatch(entityTag string) *OrgunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrgunitsListCall) Context(ctx context.Context) *OrgunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6797,16 +7003,26 @@
 
 func (c *OrgunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["orgUnitPath"]; ok {
+		params.Set("orgUnitPath", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/orgunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6902,31 +7118,31 @@
 	customerId  string
 	orgUnitPath []string
 	orgunit     *OrgUnit
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Update Organization Unit. This method supports patch
 // semantics.
 func (r *OrgunitsService) Patch(customerId string, orgUnitPath []string, orgunit *OrgUnit) *OrgunitsPatchCall {
-	c := &OrgunitsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrgunitsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
-	c.orgUnitPath = append([]string{}, orgUnitPath...)
+	c.orgUnitPath = orgUnitPath
 	c.orgunit = orgunit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrgunitsPatchCall) Fields(s ...googleapi.Field) *OrgunitsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrgunitsPatchCall) Context(ctx context.Context) *OrgunitsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6939,9 +7155,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/orgunits{/orgUnitPath*}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":  c.customerId,
@@ -7034,30 +7254,30 @@
 	customerId  string
 	orgUnitPath []string
 	orgunit     *OrgUnit
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Update Organization Unit
 func (r *OrgunitsService) Update(customerId string, orgUnitPath []string, orgunit *OrgUnit) *OrgunitsUpdateCall {
-	c := &OrgunitsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrgunitsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
-	c.orgUnitPath = append([]string{}, orgUnitPath...)
+	c.orgUnitPath = orgUnitPath
 	c.orgunit = orgunit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrgunitsUpdateCall) Fields(s ...googleapi.Field) *OrgunitsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrgunitsUpdateCall) Context(ctx context.Context) *OrgunitsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7070,9 +7290,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/orgunits{/orgUnitPath*}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":  c.customerId,
@@ -7164,29 +7388,29 @@
 	s          *Service
 	customerId string
 	schemaKey  string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Delete schema
 func (r *SchemasService) Delete(customerId string, schemaKey string) *SchemasDeleteCall {
-	c := &SchemasDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchemasDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.schemaKey = schemaKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchemasDeleteCall) Fields(s ...googleapi.Field) *SchemasDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchemasDeleteCall) Context(ctx context.Context) *SchemasDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7194,9 +7418,13 @@
 
 func (c *SchemasDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/schemas/{schemaKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -7253,27 +7481,26 @@
 // method id "directory.schemas.get":
 
 type SchemasGetCall struct {
-	s            *Service
-	customerId   string
-	schemaKey    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	schemaKey  string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieve schema
 func (r *SchemasService) Get(customerId string, schemaKey string) *SchemasGetCall {
-	c := &SchemasGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchemasGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.schemaKey = schemaKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchemasGetCall) Fields(s ...googleapi.Field) *SchemasGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7283,13 +7510,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SchemasGetCall) IfNoneMatch(entityTag string) *SchemasGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchemasGetCall) Context(ctx context.Context) *SchemasGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7297,17 +7524,21 @@
 
 func (c *SchemasGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/schemas/{schemaKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 		"schemaKey":  c.schemaKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7390,29 +7621,29 @@
 	s          *Service
 	customerId string
 	schema     *Schema
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Create schema.
 func (r *SchemasService) Insert(customerId string, schema *Schema) *SchemasInsertCall {
-	c := &SchemasInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchemasInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.schema = schema
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchemasInsertCall) Fields(s ...googleapi.Field) *SchemasInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchemasInsertCall) Context(ctx context.Context) *SchemasInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7425,9 +7656,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/schemas")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -7507,25 +7742,24 @@
 // method id "directory.schemas.list":
 
 type SchemasListCall struct {
-	s            *Service
-	customerId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieve all schemas for a customer
 func (r *SchemasService) List(customerId string) *SchemasListCall {
-	c := &SchemasListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchemasListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchemasListCall) Fields(s ...googleapi.Field) *SchemasListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7535,13 +7769,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SchemasListCall) IfNoneMatch(entityTag string) *SchemasListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchemasListCall) Context(ctx context.Context) *SchemasListCall {
 	c.ctx_ = ctx
 	return c
@@ -7549,16 +7783,20 @@
 
 func (c *SchemasListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/schemas")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7635,30 +7873,30 @@
 	customerId string
 	schemaKey  string
 	schema     *Schema
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Update schema. This method supports patch semantics.
 func (r *SchemasService) Patch(customerId string, schemaKey string, schema *Schema) *SchemasPatchCall {
-	c := &SchemasPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchemasPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.schemaKey = schemaKey
 	c.schema = schema
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchemasPatchCall) Fields(s ...googleapi.Field) *SchemasPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchemasPatchCall) Context(ctx context.Context) *SchemasPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7671,9 +7909,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/schemas/{schemaKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -7765,30 +8007,30 @@
 	customerId string
 	schemaKey  string
 	schema     *Schema
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Update schema
 func (r *SchemasService) Update(customerId string, schemaKey string, schema *Schema) *SchemasUpdateCall {
-	c := &SchemasUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchemasUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.schemaKey = schemaKey
 	c.schema = schema
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchemasUpdateCall) Fields(s ...googleapi.Field) *SchemasUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchemasUpdateCall) Context(ctx context.Context) *SchemasUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7801,9 +8043,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/schemas/{schemaKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -7891,32 +8137,32 @@
 // method id "directory.tokens.delete":
 
 type TokensDeleteCall struct {
-	s          *Service
-	userKey    string
-	clientId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	userKey  string
+	clientId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Delete all access tokens issued by a user for an application.
 func (r *TokensService) Delete(userKey string, clientId string) *TokensDeleteCall {
-	c := &TokensDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TokensDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.clientId = clientId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TokensDeleteCall) Fields(s ...googleapi.Field) *TokensDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TokensDeleteCall) Context(ctx context.Context) *TokensDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7924,9 +8170,13 @@
 
 func (c *TokensDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/tokens/{clientId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey":  c.userKey,
@@ -7983,27 +8233,26 @@
 // method id "directory.tokens.get":
 
 type TokensGetCall struct {
-	s            *Service
-	userKey      string
-	clientId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	userKey  string
+	clientId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Get information about an access token issued by a user.
 func (r *TokensService) Get(userKey string, clientId string) *TokensGetCall {
-	c := &TokensGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TokensGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.clientId = clientId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TokensGetCall) Fields(s ...googleapi.Field) *TokensGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8013,13 +8262,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TokensGetCall) IfNoneMatch(entityTag string) *TokensGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TokensGetCall) Context(ctx context.Context) *TokensGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8027,17 +8276,21 @@
 
 func (c *TokensGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/tokens/{clientId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey":  c.userKey,
 		"clientId": c.clientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8116,26 +8369,25 @@
 // method id "directory.tokens.list":
 
 type TokensListCall struct {
-	s            *Service
-	userKey      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Returns the set of tokens specified user has issued to 3rd
 // party applications.
 func (r *TokensService) List(userKey string) *TokensListCall {
-	c := &TokensListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TokensListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TokensListCall) Fields(s ...googleapi.Field) *TokensListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8145,13 +8397,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TokensListCall) IfNoneMatch(entityTag string) *TokensListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TokensListCall) Context(ctx context.Context) *TokensListCall {
 	c.ctx_ = ctx
 	return c
@@ -8159,16 +8411,20 @@
 
 func (c *TokensListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/tokens")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8240,30 +8496,30 @@
 // method id "directory.users.delete":
 
 type UsersDeleteCall struct {
-	s          *Service
-	userKey    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Delete user
 func (r *UsersService) Delete(userKey string) *UsersDeleteCall {
-	c := &UsersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8271,9 +8527,13 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -8322,16 +8582,15 @@
 // method id "directory.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	userKey      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: retrieve user
 func (r *UsersService) Get(userKey string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
@@ -8340,7 +8599,7 @@
 // Comma-separated list of schema names. All fields from these schemas
 // are fetched. This should only be set when projection=custom.
 func (c *UsersGetCall) CustomFieldMask(customFieldMask string) *UsersGetCall {
-	c.urlParams_.Set("customFieldMask", customFieldMask)
+	c.opt_["customFieldMask"] = customFieldMask
 	return c
 }
 
@@ -8353,7 +8612,7 @@
 // customFieldMask.
 //   "full" - Include all fields associated with this user.
 func (c *UsersGetCall) Projection(projection string) *UsersGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -8364,15 +8623,15 @@
 //   "admin_view" (default) - Fetches the ADMIN_VIEW of the user.
 //   "domain_public" - Fetches the DOMAIN_PUBLIC view of the user.
 func (c *UsersGetCall) ViewType(viewType string) *UsersGetCall {
-	c.urlParams_.Set("viewType", viewType)
+	c.opt_["viewType"] = viewType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8382,13 +8641,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8396,16 +8655,29 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customFieldMask"]; ok {
+		params.Set("customFieldMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["viewType"]; ok {
+		params.Set("viewType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8513,30 +8785,30 @@
 // method id "directory.users.insert":
 
 type UsersInsertCall struct {
-	s          *Service
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	user *User
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Insert: create user.
 func (r *UsersService) Insert(user *User) *UsersInsertCall {
-	c := &UsersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8549,9 +8821,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8618,16 +8894,15 @@
 // method id "directory.users.list":
 
 type UsersListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieve either deleted users or all users in a domain
 // (paginated)
 func (r *UsersService) List() *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -8635,7 +8910,7 @@
 // Comma-separated list of schema names. All fields from these schemas
 // are fetched. This should only be set when projection=custom.
 func (c *UsersListCall) CustomFieldMask(customFieldMask string) *UsersListCall {
-	c.urlParams_.Set("customFieldMask", customFieldMask)
+	c.opt_["customFieldMask"] = customFieldMask
 	return c
 }
 
@@ -8643,7 +8918,7 @@
 // Google Apps account. In case of multi-domain, to fetch all users for
 // a customer, fill this field instead of domain.
 func (c *UsersListCall) Customer(customer string) *UsersListCall {
-	c.urlParams_.Set("customer", customer)
+	c.opt_["customer"] = customer
 	return c
 }
 
@@ -8651,7 +8926,7 @@
 // this field to get users from only this domain. To return all users in
 // a multi-domain fill customer field instead.
 func (c *UsersListCall) Domain(domain string) *UsersListCall {
-	c.urlParams_.Set("domain", domain)
+	c.opt_["domain"] = domain
 	return c
 }
 
@@ -8665,14 +8940,14 @@
 //   "undelete" - User Undeleted Event
 //   "update" - User Updated Event
 func (c *UsersListCall) Event(event string) *UsersListCall {
-	c.urlParams_.Set("event", event)
+	c.opt_["event"] = event
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 100. Max allowed is 500
 func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8684,14 +8959,14 @@
 //   "familyName" - User's family name.
 //   "givenName" - User's given name.
 func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -8704,7 +8979,7 @@
 // customFieldMask.
 //   "full" - Include all fields associated with this user.
 func (c *UsersListCall) Projection(projection string) *UsersListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -8712,14 +8987,14 @@
 // Should be of the form "". Complete documentation is at
 // https://developers.google.com/admin-sdk/directory/v1/guides/search-users
 func (c *UsersListCall) Query(query string) *UsersListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
 // ShowDeleted sets the optional parameter "showDeleted": If set to true
 // retrieves the list of deleted users. Default is false
 func (c *UsersListCall) ShowDeleted(showDeleted string) *UsersListCall {
-	c.urlParams_.Set("showDeleted", showDeleted)
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -8730,7 +9005,7 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" - Descending order.
 func (c *UsersListCall) SortOrder(sortOrder string) *UsersListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -8741,15 +9016,15 @@
 //   "admin_view" (default) - Fetches the ADMIN_VIEW of the user.
 //   "domain_public" - Fetches the DOMAIN_PUBLIC view of the user.
 func (c *UsersListCall) ViewType(viewType string) *UsersListCall {
-	c.urlParams_.Set("viewType", viewType)
+	c.opt_["viewType"] = viewType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8759,13 +9034,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -8773,14 +9048,54 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customFieldMask"]; ok {
+		params.Set("customFieldMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customer"]; ok {
+		params.Set("customer", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["domain"]; ok {
+		params.Set("domain", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["event"]; ok {
+		params.Set("event", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["viewType"]; ok {
+		params.Set("viewType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8963,29 +9278,29 @@
 	s             *Service
 	userKey       string
 	usermakeadmin *UserMakeAdmin
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // MakeAdmin: change admin status of a user
 func (r *UsersService) MakeAdmin(userKey string, usermakeadmin *UserMakeAdmin) *UsersMakeAdminCall {
-	c := &UsersMakeAdminCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMakeAdminCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.usermakeadmin = usermakeadmin
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMakeAdminCall) Fields(s ...googleapi.Field) *UsersMakeAdminCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMakeAdminCall) Context(ctx context.Context) *UsersMakeAdminCall {
 	c.ctx_ = ctx
 	return c
@@ -8998,9 +9313,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/makeAdmin")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -9053,32 +9372,32 @@
 // method id "directory.users.patch":
 
 type UsersPatchCall struct {
-	s          *Service
-	userKey    string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	user    *User
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: update user. This method supports patch semantics.
 func (r *UsersService) Patch(userKey string, user *User) *UsersPatchCall {
-	c := &UsersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9091,9 +9410,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -9176,29 +9499,29 @@
 	s            *Service
 	userKey      string
 	userundelete *UserUndelete
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Undelete: Undelete a deleted user
 func (r *UsersService) Undelete(userKey string, userundelete *UserUndelete) *UsersUndeleteCall {
-	c := &UsersUndeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersUndeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.userundelete = userundelete
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersUndeleteCall) Fields(s ...googleapi.Field) *UsersUndeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersUndeleteCall) Context(ctx context.Context) *UsersUndeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9211,9 +9534,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/undelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -9266,32 +9593,32 @@
 // method id "directory.users.update":
 
 type UsersUpdateCall struct {
-	s          *Service
-	userKey    string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	user    *User
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: update user
 func (r *UsersService) Update(userKey string, user *User) *UsersUpdateCall {
-	c := &UsersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersUpdateCall) Fields(s ...googleapi.Field) *UsersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersUpdateCall) Context(ctx context.Context) *UsersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9304,9 +9631,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -9386,15 +9717,15 @@
 // method id "directory.users.watch":
 
 type UsersWatchCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Watch: Watch for changes in users list
 func (r *UsersService) Watch(channel *Channel) *UsersWatchCall {
-	c := &UsersWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
@@ -9403,7 +9734,7 @@
 // Comma-separated list of schema names. All fields from these schemas
 // are fetched. This should only be set when projection=custom.
 func (c *UsersWatchCall) CustomFieldMask(customFieldMask string) *UsersWatchCall {
-	c.urlParams_.Set("customFieldMask", customFieldMask)
+	c.opt_["customFieldMask"] = customFieldMask
 	return c
 }
 
@@ -9411,7 +9742,7 @@
 // Google Apps account. In case of multi-domain, to fetch all users for
 // a customer, fill this field instead of domain.
 func (c *UsersWatchCall) Customer(customer string) *UsersWatchCall {
-	c.urlParams_.Set("customer", customer)
+	c.opt_["customer"] = customer
 	return c
 }
 
@@ -9419,7 +9750,7 @@
 // this field to get users from only this domain. To return all users in
 // a multi-domain fill customer field instead.
 func (c *UsersWatchCall) Domain(domain string) *UsersWatchCall {
-	c.urlParams_.Set("domain", domain)
+	c.opt_["domain"] = domain
 	return c
 }
 
@@ -9433,14 +9764,14 @@
 //   "undelete" - User Undeleted Event
 //   "update" - User Updated Event
 func (c *UsersWatchCall) Event(event string) *UsersWatchCall {
-	c.urlParams_.Set("event", event)
+	c.opt_["event"] = event
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Default is 100. Max allowed is 500
 func (c *UsersWatchCall) MaxResults(maxResults int64) *UsersWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9452,14 +9783,14 @@
 //   "familyName" - User's family name.
 //   "givenName" - User's given name.
 func (c *UsersWatchCall) OrderBy(orderBy string) *UsersWatchCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *UsersWatchCall) PageToken(pageToken string) *UsersWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -9472,7 +9803,7 @@
 // customFieldMask.
 //   "full" - Include all fields associated with this user.
 func (c *UsersWatchCall) Projection(projection string) *UsersWatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -9480,14 +9811,14 @@
 // Should be of the form "". Complete documentation is at
 // https://developers.google.com/admin-sdk/directory/v1/guides/search-users
 func (c *UsersWatchCall) Query(query string) *UsersWatchCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
 // ShowDeleted sets the optional parameter "showDeleted": If set to true
 // retrieves the list of deleted users. Default is false
 func (c *UsersWatchCall) ShowDeleted(showDeleted string) *UsersWatchCall {
-	c.urlParams_.Set("showDeleted", showDeleted)
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -9498,7 +9829,7 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" - Descending order.
 func (c *UsersWatchCall) SortOrder(sortOrder string) *UsersWatchCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -9509,21 +9840,21 @@
 //   "admin_view" (default) - Fetches the ADMIN_VIEW of the user.
 //   "domain_public" - Fetches the DOMAIN_PUBLIC view of the user.
 func (c *UsersWatchCall) ViewType(viewType string) *UsersWatchCall {
-	c.urlParams_.Set("viewType", viewType)
+	c.opt_["viewType"] = viewType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersWatchCall) Fields(s ...googleapi.Field) *UsersWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersWatchCall) Context(ctx context.Context) *UsersWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9536,9 +9867,49 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customFieldMask"]; ok {
+		params.Set("customFieldMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customer"]; ok {
+		params.Set("customer", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["domain"]; ok {
+		params.Set("domain", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["event"]; ok {
+		params.Set("event", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["viewType"]; ok {
+		params.Set("viewType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9725,32 +10096,32 @@
 // method id "directory.users.aliases.delete":
 
 type UsersAliasesDeleteCall struct {
-	s          *Service
-	userKey    string
-	alias      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	alias   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Remove a alias for the user
 func (r *UsersAliasesService) Delete(userKey string, alias string) *UsersAliasesDeleteCall {
-	c := &UsersAliasesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAliasesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.alias = alias
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAliasesDeleteCall) Fields(s ...googleapi.Field) *UsersAliasesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAliasesDeleteCall) Context(ctx context.Context) *UsersAliasesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9758,9 +10129,13 @@
 
 func (c *UsersAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/aliases/{alias}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -9818,32 +10193,32 @@
 // method id "directory.users.aliases.insert":
 
 type UsersAliasesInsertCall struct {
-	s          *Service
-	userKey    string
-	alias      *Alias
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	alias   *Alias
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Add a alias for the user
 func (r *UsersAliasesService) Insert(userKey string, alias *Alias) *UsersAliasesInsertCall {
-	c := &UsersAliasesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAliasesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.alias = alias
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAliasesInsertCall) Fields(s ...googleapi.Field) *UsersAliasesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAliasesInsertCall) Context(ctx context.Context) *UsersAliasesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9856,9 +10231,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/aliases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -9939,16 +10318,15 @@
 // method id "directory.users.aliases.list":
 
 type UsersAliasesListCall struct {
-	s            *Service
-	userKey      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: List all aliases for a user
 func (r *UsersAliasesService) List(userKey string) *UsersAliasesListCall {
-	c := &UsersAliasesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAliasesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
@@ -9960,15 +10338,15 @@
 //   "add" - Alias Created Event
 //   "delete" - Alias Deleted Event
 func (c *UsersAliasesListCall) Event(event string) *UsersAliasesListCall {
-	c.urlParams_.Set("event", event)
+	c.opt_["event"] = event
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAliasesListCall) Fields(s ...googleapi.Field) *UsersAliasesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9978,13 +10356,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersAliasesListCall) IfNoneMatch(entityTag string) *UsersAliasesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAliasesListCall) Context(ctx context.Context) *UsersAliasesListCall {
 	c.ctx_ = ctx
 	return c
@@ -9992,16 +10370,23 @@
 
 func (c *UsersAliasesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["event"]; ok {
+		params.Set("event", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/aliases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10090,16 +10475,16 @@
 // method id "directory.users.aliases.watch":
 
 type UsersAliasesWatchCall struct {
-	s          *Service
-	userKey    string
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Watch: Watch for changes in user aliases list
 func (r *UsersAliasesService) Watch(userKey string, channel *Channel) *UsersAliasesWatchCall {
-	c := &UsersAliasesWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAliasesWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.channel = channel
 	return c
@@ -10112,21 +10497,21 @@
 //   "add" - Alias Created Event
 //   "delete" - Alias Deleted Event
 func (c *UsersAliasesWatchCall) Event(event string) *UsersAliasesWatchCall {
-	c.urlParams_.Set("event", event)
+	c.opt_["event"] = event
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAliasesWatchCall) Fields(s ...googleapi.Field) *UsersAliasesWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAliasesWatchCall) Context(ctx context.Context) *UsersAliasesWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10139,9 +10524,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["event"]; ok {
+		params.Set("event", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/aliases/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -10239,30 +10631,30 @@
 // method id "directory.users.photos.delete":
 
 type UsersPhotosDeleteCall struct {
-	s          *Service
-	userKey    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Remove photos for the user
 func (r *UsersPhotosService) Delete(userKey string) *UsersPhotosDeleteCall {
-	c := &UsersPhotosDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersPhotosDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersPhotosDeleteCall) Fields(s ...googleapi.Field) *UsersPhotosDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersPhotosDeleteCall) Context(ctx context.Context) *UsersPhotosDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -10270,9 +10662,13 @@
 
 func (c *UsersPhotosDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/photos/thumbnail")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -10321,25 +10717,24 @@
 // method id "directory.users.photos.get":
 
 type UsersPhotosGetCall struct {
-	s            *Service
-	userKey      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieve photo of a user
 func (r *UsersPhotosService) Get(userKey string) *UsersPhotosGetCall {
-	c := &UsersPhotosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersPhotosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersPhotosGetCall) Fields(s ...googleapi.Field) *UsersPhotosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10349,13 +10744,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersPhotosGetCall) IfNoneMatch(entityTag string) *UsersPhotosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersPhotosGetCall) Context(ctx context.Context) *UsersPhotosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10363,16 +10758,20 @@
 
 func (c *UsersPhotosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/photos/thumbnail")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10445,33 +10844,33 @@
 // method id "directory.users.photos.patch":
 
 type UsersPhotosPatchCall struct {
-	s          *Service
-	userKey    string
-	userphoto  *UserPhoto
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	userKey   string
+	userphoto *UserPhoto
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Add a photo for the user. This method supports patch
 // semantics.
 func (r *UsersPhotosService) Patch(userKey string, userphoto *UserPhoto) *UsersPhotosPatchCall {
-	c := &UsersPhotosPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersPhotosPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.userphoto = userphoto
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersPhotosPatchCall) Fields(s ...googleapi.Field) *UsersPhotosPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersPhotosPatchCall) Context(ctx context.Context) *UsersPhotosPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10484,9 +10883,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/photos/thumbnail")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -10566,32 +10969,32 @@
 // method id "directory.users.photos.update":
 
 type UsersPhotosUpdateCall struct {
-	s          *Service
-	userKey    string
-	userphoto  *UserPhoto
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	userKey   string
+	userphoto *UserPhoto
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Add a photo for the user
 func (r *UsersPhotosService) Update(userKey string, userphoto *UserPhoto) *UsersPhotosUpdateCall {
-	c := &UsersPhotosUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersPhotosUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.userphoto = userphoto
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersPhotosUpdateCall) Fields(s ...googleapi.Field) *UsersPhotosUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersPhotosUpdateCall) Context(ctx context.Context) *UsersPhotosUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10604,9 +11007,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/photos/thumbnail")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -10686,30 +11093,30 @@
 // method id "directory.verificationCodes.generate":
 
 type VerificationCodesGenerateCall struct {
-	s          *Service
-	userKey    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Generate: Generate new backup verification codes for the user.
 func (r *VerificationCodesService) Generate(userKey string) *VerificationCodesGenerateCall {
-	c := &VerificationCodesGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VerificationCodesGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VerificationCodesGenerateCall) Fields(s ...googleapi.Field) *VerificationCodesGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VerificationCodesGenerateCall) Context(ctx context.Context) *VerificationCodesGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -10717,9 +11124,13 @@
 
 func (c *VerificationCodesGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/verificationCodes/generate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -10768,31 +11179,31 @@
 // method id "directory.verificationCodes.invalidate":
 
 type VerificationCodesInvalidateCall struct {
-	s          *Service
-	userKey    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Invalidate: Invalidate the current backup verification codes for the
 // user.
 func (r *VerificationCodesService) Invalidate(userKey string) *VerificationCodesInvalidateCall {
-	c := &VerificationCodesInvalidateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VerificationCodesInvalidateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VerificationCodesInvalidateCall) Fields(s ...googleapi.Field) *VerificationCodesInvalidateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VerificationCodesInvalidateCall) Context(ctx context.Context) *VerificationCodesInvalidateCall {
 	c.ctx_ = ctx
 	return c
@@ -10800,9 +11211,13 @@
 
 func (c *VerificationCodesInvalidateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/verificationCodes/invalidate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
@@ -10851,26 +11266,25 @@
 // method id "directory.verificationCodes.list":
 
 type VerificationCodesListCall struct {
-	s            *Service
-	userKey      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Returns the current set of valid backup verification codes for
 // the specified user.
 func (r *VerificationCodesService) List(userKey string) *VerificationCodesListCall {
-	c := &VerificationCodesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VerificationCodesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VerificationCodesListCall) Fields(s ...googleapi.Field) *VerificationCodesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10880,13 +11294,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VerificationCodesListCall) IfNoneMatch(entityTag string) *VerificationCodesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VerificationCodesListCall) Context(ctx context.Context) *VerificationCodesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10894,16 +11308,20 @@
 
 func (c *VerificationCodesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userKey}/verificationCodes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/admin/email_migration/v2/admin-gen.go b/admin/email_migration/v2/admin-gen.go
index 5b67505..22c577d 100644
--- a/admin/email_migration/v2/admin-gen.go
+++ b/admin/email_migration/v2/admin-gen.go
@@ -129,40 +129,39 @@
 // method id "emailMigration.mail.insert":
 
 type MailInsertCall struct {
-	s                *Service
-	userKey          string
-	mailitem         *MailItem
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userKey    string
+	mailitem   *MailItem
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Insert Mail into Google's Gmail backends
 func (r *MailService) Insert(userKey string, mailitem *MailItem) *MailInsertCall {
-	c := &MailInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MailInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.mailitem = mailitem
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *MailInsertCall) Media(r io.Reader) *MailInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *MailInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MailInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -171,28 +170,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *MailInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MailInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MailInsertCall) Fields(s ...googleapi.Field) *MailInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *MailInsertCall) Context(ctx context.Context) *MailInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -205,13 +203,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userKey}/mail")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -249,6 +251,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -258,7 +266,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
diff --git a/admin/reports/v1/admin-gen.go b/admin/reports/v1/admin-gen.go
index 36937a5..a90669b 100644
--- a/admin/reports/v1/admin-gen.go
+++ b/admin/reports/v1/admin-gen.go
@@ -556,15 +556,14 @@
 	s               *Service
 	userKey         string
 	applicationName string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: Retrieves a list of activities for a specific customer and
 // application.
 func (r *ActivitiesService) List(userKey string, applicationName string) *ActivitiesListCall {
-	c := &ActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.applicationName = applicationName
 	return c
@@ -574,28 +573,28 @@
 // Address of host where the event was performed. Supports both IPv4 and
 // IPv6 addresses.
 func (c *ActivitiesListCall) ActorIpAddress(actorIpAddress string) *ActivitiesListCall {
-	c.urlParams_.Set("actorIpAddress", actorIpAddress)
+	c.opt_["actorIpAddress"] = actorIpAddress
 	return c
 }
 
 // CustomerId sets the optional parameter "customerId": Represents the
 // customer for which the data is to be fetched.
 func (c *ActivitiesListCall) CustomerId(customerId string) *ActivitiesListCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
 // EndTime sets the optional parameter "endTime": Return events which
 // occured at or before this time.
 func (c *ActivitiesListCall) EndTime(endTime string) *ActivitiesListCall {
-	c.urlParams_.Set("endTime", endTime)
+	c.opt_["endTime"] = endTime
 	return c
 }
 
 // EventName sets the optional parameter "eventName": Name of the event
 // being queried.
 func (c *ActivitiesListCall) EventName(eventName string) *ActivitiesListCall {
-	c.urlParams_.Set("eventName", eventName)
+	c.opt_["eventName"] = eventName
 	return c
 }
 
@@ -603,36 +602,36 @@
 // the form [parameter1 name][operator][parameter1 value],[parameter2
 // name][operator][parameter2 value],...
 func (c *ActivitiesListCall) Filters(filters string) *ActivitiesListCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Number of
 // activity records to be shown in each page.
 func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page.
 func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": Return events
 // which occured at or after this time.
 func (c *ActivitiesListCall) StartTime(startTime string) *ActivitiesListCall {
-	c.urlParams_.Set("startTime", startTime)
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -642,13 +641,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -656,17 +655,45 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["actorIpAddress"]; ok {
+		params.Set("actorIpAddress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endTime"]; ok {
+		params.Set("endTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventName"]; ok {
+		params.Set("eventName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activity/users/{userKey}/applications/{applicationName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey":         c.userKey,
 		"applicationName": c.applicationName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -798,13 +825,13 @@
 	userKey         string
 	applicationName string
 	channel         *Channel
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Watch: Push changes to activities
 func (r *ActivitiesService) Watch(userKey string, applicationName string, channel *Channel) *ActivitiesWatchCall {
-	c := &ActivitiesWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.applicationName = applicationName
 	c.channel = channel
@@ -815,28 +842,28 @@
 // Address of host where the event was performed. Supports both IPv4 and
 // IPv6 addresses.
 func (c *ActivitiesWatchCall) ActorIpAddress(actorIpAddress string) *ActivitiesWatchCall {
-	c.urlParams_.Set("actorIpAddress", actorIpAddress)
+	c.opt_["actorIpAddress"] = actorIpAddress
 	return c
 }
 
 // CustomerId sets the optional parameter "customerId": Represents the
 // customer for which the data is to be fetched.
 func (c *ActivitiesWatchCall) CustomerId(customerId string) *ActivitiesWatchCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
 // EndTime sets the optional parameter "endTime": Return events which
 // occured at or before this time.
 func (c *ActivitiesWatchCall) EndTime(endTime string) *ActivitiesWatchCall {
-	c.urlParams_.Set("endTime", endTime)
+	c.opt_["endTime"] = endTime
 	return c
 }
 
 // EventName sets the optional parameter "eventName": Name of the event
 // being queried.
 func (c *ActivitiesWatchCall) EventName(eventName string) *ActivitiesWatchCall {
-	c.urlParams_.Set("eventName", eventName)
+	c.opt_["eventName"] = eventName
 	return c
 }
 
@@ -844,42 +871,42 @@
 // the form [parameter1 name][operator][parameter1 value],[parameter2
 // name][operator][parameter2 value],...
 func (c *ActivitiesWatchCall) Filters(filters string) *ActivitiesWatchCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Number of
 // activity records to be shown in each page.
 func (c *ActivitiesWatchCall) MaxResults(maxResults int64) *ActivitiesWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page.
 func (c *ActivitiesWatchCall) PageToken(pageToken string) *ActivitiesWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": Return events
 // which occured at or after this time.
 func (c *ActivitiesWatchCall) StartTime(startTime string) *ActivitiesWatchCall {
-	c.urlParams_.Set("startTime", startTime)
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesWatchCall) Fields(s ...googleapi.Field) *ActivitiesWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesWatchCall) Context(ctx context.Context) *ActivitiesWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -892,9 +919,37 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["actorIpAddress"]; ok {
+		params.Set("actorIpAddress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endTime"]; ok {
+		params.Set("endTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventName"]; ok {
+		params.Set("eventName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activity/users/{userKey}/applications/{applicationName}/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey":         c.userKey,
@@ -1032,30 +1087,30 @@
 // method id "admin.channels.stop":
 
 type ChannelsStopCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Stop: Stop watching resources through this channel
 func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
-	c := &ChannelsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -1068,9 +1123,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "/admin/reports_v1/channels/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1111,17 +1170,16 @@
 // method id "reports.customerUsageReports.get":
 
 type CustomerUsageReportsGetCall struct {
-	s            *Service
-	date         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	date string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Retrieves a report which is a collection of properties /
 // statistics for a specific customer.
 func (r *CustomerUsageReportsService) Get(date string) *CustomerUsageReportsGetCall {
-	c := &CustomerUsageReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomerUsageReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.date = date
 	return c
 }
@@ -1129,14 +1187,14 @@
 // CustomerId sets the optional parameter "customerId": Represents the
 // customer for which the data is to be fetched.
 func (c *CustomerUsageReportsGetCall) CustomerId(customerId string) *CustomerUsageReportsGetCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page.
 func (c *CustomerUsageReportsGetCall) PageToken(pageToken string) *CustomerUsageReportsGetCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1144,15 +1202,15 @@
 // application name, parameter name pairs to fetch in csv as
 // app_name1:param_name1, app_name2:param_name2.
 func (c *CustomerUsageReportsGetCall) Parameters(parameters string) *CustomerUsageReportsGetCall {
-	c.urlParams_.Set("parameters", parameters)
+	c.opt_["parameters"] = parameters
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomerUsageReportsGetCall) Fields(s ...googleapi.Field) *CustomerUsageReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1162,13 +1220,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomerUsageReportsGetCall) IfNoneMatch(entityTag string) *CustomerUsageReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomerUsageReportsGetCall) Context(ctx context.Context) *CustomerUsageReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1176,16 +1234,29 @@
 
 func (c *CustomerUsageReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["parameters"]; ok {
+		params.Set("parameters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "usage/dates/{date}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"date": c.date,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1275,18 +1346,17 @@
 // method id "reports.userUsageReport.get":
 
 type UserUsageReportGetCall struct {
-	s            *Service
-	userKey      string
-	date         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	userKey string
+	date    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieves a report which is a collection of properties /
 // statistics for a set of users.
 func (r *UserUsageReportService) Get(userKey string, date string) *UserUsageReportGetCall {
-	c := &UserUsageReportGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserUsageReportGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userKey = userKey
 	c.date = date
 	return c
@@ -1295,28 +1365,28 @@
 // CustomerId sets the optional parameter "customerId": Represents the
 // customer for which the data is to be fetched.
 func (c *UserUsageReportGetCall) CustomerId(customerId string) *UserUsageReportGetCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
 // Filters sets the optional parameter "filters": Represents the set of
 // filters including parameter operator value.
 func (c *UserUsageReportGetCall) Filters(filters string) *UserUsageReportGetCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return. Maximum allowed is 1000
 func (c *UserUsageReportGetCall) MaxResults(maxResults int64) *UserUsageReportGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page.
 func (c *UserUsageReportGetCall) PageToken(pageToken string) *UserUsageReportGetCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1324,15 +1394,15 @@
 // application name, parameter name pairs to fetch in csv as
 // app_name1:param_name1, app_name2:param_name2.
 func (c *UserUsageReportGetCall) Parameters(parameters string) *UserUsageReportGetCall {
-	c.urlParams_.Set("parameters", parameters)
+	c.opt_["parameters"] = parameters
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserUsageReportGetCall) Fields(s ...googleapi.Field) *UserUsageReportGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1342,13 +1412,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserUsageReportGetCall) IfNoneMatch(entityTag string) *UserUsageReportGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserUsageReportGetCall) Context(ctx context.Context) *UserUsageReportGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1356,17 +1426,36 @@
 
 func (c *UserUsageReportGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["parameters"]; ok {
+		params.Set("parameters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "usage/users/{userKey}/dates/{date}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userKey": c.userKey,
 		"date":    c.date,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adsense/v1.2/adsense-gen.go b/adsense/v1.2/adsense-gen.go
index e4b1296..069c4e9 100644
--- a/adsense/v1.2/adsense-gen.go
+++ b/adsense/v1.2/adsense-gen.go
@@ -1117,16 +1117,15 @@
 // method id "adsense.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected AdSense account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1134,15 +1133,15 @@
 // Tree sets the optional parameter "tree": Whether the tree of sub
 // accounts should be returned.
 func (c *AccountsGetCall) Tree(tree bool) *AccountsGetCall {
-	c.urlParams_.Set("tree", fmt.Sprintf("%v", tree))
+	c.opt_["tree"] = tree
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1152,13 +1151,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1166,16 +1165,23 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["tree"]; ok {
+		params.Set("tree", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1253,22 +1259,21 @@
 // method id "adsense.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all accounts available to this AdSense account.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of accounts to include in the response, used for paging.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1277,15 +1282,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1295,13 +1300,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1309,14 +1314,24 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1393,16 +1408,15 @@
 // method id "adsense.accounts.adclients.list":
 
 type AccountsAdclientsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all ad clients in the specified account.
 func (r *AccountsAdclientsService) List(accountId string) *AccountsAdclientsListCall {
-	c := &AccountsAdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1410,7 +1424,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AccountsAdclientsListCall) MaxResults(maxResults int64) *AccountsAdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1419,15 +1433,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdclientsListCall) PageToken(pageToken string) *AccountsAdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdclientsListCall) Fields(s ...googleapi.Field) *AccountsAdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1437,13 +1451,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdclientsListCall) IfNoneMatch(entityTag string) *AccountsAdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdclientsListCall) Context(ctx context.Context) *AccountsAdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1451,16 +1465,26 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1546,30 +1570,29 @@
 // method id "adsense.accounts.adunits.get":
 
 type AccountsAdunitsGetCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client for the
 // specified account.
 func (r *AccountsAdunitsService) Get(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetCall {
-	c := &AccountsAdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1579,13 +1602,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetCall) Context(ctx context.Context) *AccountsAdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1593,9 +1616,13 @@
 
 func (c *AccountsAdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1603,8 +1630,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1691,18 +1718,17 @@
 // method id "adsense.accounts.adunits.list":
 
 type AccountsAdunitsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for the specified
 // account.
 func (r *AccountsAdunitsService) List(accountId string, adClientId string) *AccountsAdunitsListCall {
-	c := &AccountsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -1711,14 +1737,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsAdunitsListCall) MaxResults(maxResults int64) *AccountsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1727,15 +1753,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdunitsListCall) PageToken(pageToken string) *AccountsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1745,13 +1771,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsListCall) Context(ctx context.Context) *AccountsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1759,17 +1785,30 @@
 
 func (c *AccountsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1867,19 +1906,18 @@
 // method id "adsense.accounts.adunits.customchannels.list":
 
 type AccountsAdunitsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AccountsAdunitsCustomchannelsService) List(accountId string, adClientId string, adUnitId string) *AccountsAdunitsCustomchannelsListCall {
-	c := &AccountsAdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
@@ -1890,7 +1928,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsAdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1899,15 +1937,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsAdunitsCustomchannelsListCall) PageToken(pageToken string) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1917,13 +1955,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsCustomchannelsListCall) Context(ctx context.Context) *AccountsAdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1931,9 +1969,19 @@
 
 func (c *AccountsAdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1941,8 +1989,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2046,26 +2094,25 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client
 // for the specified account.
 func (r *AccountsCustomchannelsService) Get(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsGetCall {
-	c := &AccountsCustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsGetCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2075,13 +2122,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsGetCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsGetCall) Context(ctx context.Context) *AccountsCustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2089,9 +2136,13 @@
 
 func (c *AccountsCustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -2099,8 +2150,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2187,18 +2238,17 @@
 // method id "adsense.accounts.customchannels.list":
 
 type AccountsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for the
 // specified account.
 func (r *AccountsCustomchannelsService) List(accountId string, adClientId string) *AccountsCustomchannelsListCall {
-	c := &AccountsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -2208,7 +2258,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2217,15 +2267,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsCustomchannelsListCall) PageToken(pageToken string) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2235,13 +2285,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsListCall) Context(ctx context.Context) *AccountsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2249,17 +2299,27 @@
 
 func (c *AccountsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2356,14 +2416,13 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *AccountsCustomchannelsAdunitsService) List(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsAdunitsListCall {
-	c := &AccountsCustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
@@ -2373,14 +2432,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsCustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsCustomchannelsAdunitsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2389,15 +2448,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsCustomchannelsAdunitsListCall) PageToken(pageToken string) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2407,13 +2466,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsAdunitsListCall) Context(ctx context.Context) *AccountsCustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2421,9 +2480,22 @@
 
 func (c *AccountsCustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -2431,8 +2503,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2537,21 +2609,22 @@
 // method id "adsense.accounts.reports.generate":
 
 type AccountsReportsGenerateCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *AccountsReportsService) Generate(accountId string, startDate string, endDate string) *AccountsReportsGenerateCall {
-	c := &AccountsReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
@@ -2559,21 +2632,21 @@
 // use when reporting on monetary metrics. Defaults to the account's
 // currency if not set.
 func (c *AccountsReportsGenerateCall) Currency(currency string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *AccountsReportsGenerateCall) Dimension(dimension []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *AccountsReportsGenerateCall) Dimension(dimension string) *AccountsReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *AccountsReportsGenerateCall) Filter(filter []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *AccountsReportsGenerateCall) Filter(filter string) *AccountsReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -2581,21 +2654,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsGenerateCall) Locale(locale string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsGenerateCall) MaxResults(maxResults int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *AccountsReportsGenerateCall) Metric(metric []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *AccountsReportsGenerateCall) Metric(metric string) *AccountsReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -2603,23 +2676,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *AccountsReportsGenerateCall) Sort(sort []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *AccountsReportsGenerateCall) Sort(sort string) *AccountsReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsGenerateCall) StartIndex(startIndex int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2629,13 +2702,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsGenerateCall) Context(ctx context.Context) *AccountsReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2643,16 +2716,46 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2816,15 +2919,14 @@
 	s             *Service
 	accountId     string
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an AdSense report based on the saved report ID
 // sent in the query parameters.
 func (r *AccountsReportsSavedService) Generate(accountId string, savedReportId string) *AccountsReportsSavedGenerateCall {
-	c := &AccountsReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedReportId = savedReportId
 	return c
@@ -2834,29 +2936,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsSavedGenerateCall) Locale(locale string) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsSavedGenerateCall) MaxResults(maxResults int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsSavedGenerateCall) StartIndex(startIndex int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2866,13 +2968,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedGenerateCall) Context(ctx context.Context) *AccountsReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2880,17 +2982,30 @@
 
 func (c *AccountsReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2992,16 +3107,15 @@
 // method id "adsense.accounts.reports.saved.list":
 
 type AccountsReportsSavedListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved reports in the specified AdSense account.
 func (r *AccountsReportsSavedService) List(accountId string) *AccountsReportsSavedListCall {
-	c := &AccountsReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -3009,7 +3123,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *AccountsReportsSavedListCall) MaxResults(maxResults int64) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3018,15 +3132,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsReportsSavedListCall) PageToken(pageToken string) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedListCall) Fields(s ...googleapi.Field) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3036,13 +3150,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedListCall) IfNoneMatch(entityTag string) *AccountsReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedListCall) Context(ctx context.Context) *AccountsReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -3050,16 +3164,26 @@
 
 func (c *AccountsReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3148,24 +3272,23 @@
 	s              *Service
 	accountId      string
 	savedAdStyleId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: List a specific saved ad style for the specified account.
 func (r *AccountsSavedadstylesService) Get(accountId string, savedAdStyleId string) *AccountsSavedadstylesGetCall {
-	c := &AccountsSavedadstylesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsSavedadstylesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedAdStyleId = savedAdStyleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsSavedadstylesGetCall) Fields(s ...googleapi.Field) *AccountsSavedadstylesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3175,13 +3298,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsSavedadstylesGetCall) IfNoneMatch(entityTag string) *AccountsSavedadstylesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsSavedadstylesGetCall) Context(ctx context.Context) *AccountsSavedadstylesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3189,17 +3312,21 @@
 
 func (c *AccountsSavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/savedadstyles/{savedAdStyleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":      c.accountId,
 		"savedAdStyleId": c.savedAdStyleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3279,16 +3406,15 @@
 // method id "adsense.accounts.savedadstyles.list":
 
 type AccountsSavedadstylesListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved ad styles in the specified account.
 func (r *AccountsSavedadstylesService) List(accountId string) *AccountsSavedadstylesListCall {
-	c := &AccountsSavedadstylesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsSavedadstylesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -3297,7 +3423,7 @@
 // number of saved ad styles to include in the response, used for
 // paging.
 func (c *AccountsSavedadstylesListCall) MaxResults(maxResults int64) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3306,15 +3432,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsSavedadstylesListCall) PageToken(pageToken string) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsSavedadstylesListCall) Fields(s ...googleapi.Field) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3324,13 +3450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsSavedadstylesListCall) IfNoneMatch(entityTag string) *AccountsSavedadstylesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsSavedadstylesListCall) Context(ctx context.Context) *AccountsSavedadstylesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3338,16 +3464,26 @@
 
 func (c *AccountsSavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/savedadstyles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3433,18 +3569,17 @@
 // method id "adsense.accounts.urlchannels.list":
 
 type AccountsUrlchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for the
 // specified account.
 func (r *AccountsUrlchannelsService) List(accountId string, adClientId string) *AccountsUrlchannelsListCall {
-	c := &AccountsUrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -3453,7 +3588,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *AccountsUrlchannelsListCall) MaxResults(maxResults int64) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3462,15 +3597,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsUrlchannelsListCall) PageToken(pageToken string) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUrlchannelsListCall) Fields(s ...googleapi.Field) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3480,13 +3615,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsUrlchannelsListCall) IfNoneMatch(entityTag string) *AccountsUrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUrlchannelsListCall) Context(ctx context.Context) *AccountsUrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3494,17 +3629,27 @@
 
 func (c *AccountsUrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3597,22 +3742,21 @@
 // method id "adsense.adclients.list":
 
 type AdclientsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all ad clients in this AdSense account.
 func (r *AdclientsService) List() *AdclientsListCall {
-	c := &AdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AdclientsListCall) MaxResults(maxResults int64) *AdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3621,15 +3765,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdclientsListCall) PageToken(pageToken string) *AdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsListCall) Fields(s ...googleapi.Field) *AdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3639,13 +3783,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsListCall) IfNoneMatch(entityTag string) *AdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsListCall) Context(ctx context.Context) *AdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3653,14 +3797,24 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3737,27 +3891,26 @@
 // method id "adsense.adunits.get":
 
 type AdunitsGetCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client.
 func (r *AdunitsService) Get(adClientId string, adUnitId string) *AdunitsGetCall {
-	c := &AdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetCall) Fields(s ...googleapi.Field) *AdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3767,13 +3920,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetCall) IfNoneMatch(entityTag string) *AdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetCall) Context(ctx context.Context) *AdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3781,17 +3934,21 @@
 
 func (c *AdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3871,17 +4028,16 @@
 // method id "adsense.adunits.list":
 
 type AdunitsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for this AdSense
 // account.
 func (r *AdunitsService) List(adClientId string) *AdunitsListCall {
-	c := &AdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -3889,14 +4045,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AdunitsListCall) IncludeInactive(includeInactive bool) *AdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AdunitsListCall) MaxResults(maxResults int64) *AdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3905,15 +4061,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdunitsListCall) PageToken(pageToken string) *AdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsListCall) Fields(s ...googleapi.Field) *AdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3923,13 +4079,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsListCall) IfNoneMatch(entityTag string) *AdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsListCall) Context(ctx context.Context) *AdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3937,16 +4093,29 @@
 
 func (c *AdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4037,18 +4206,17 @@
 // method id "adsense.adunits.customchannels.list":
 
 type AdunitsCustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AdunitsCustomchannelsService) List(adClientId string, adUnitId string) *AdunitsCustomchannelsListCall {
-	c := &AdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
@@ -4058,7 +4226,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4067,15 +4235,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AdunitsCustomchannelsListCall) PageToken(pageToken string) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4085,13 +4253,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsCustomchannelsListCall) Context(ctx context.Context) *AdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4099,17 +4267,27 @@
 
 func (c *AdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4205,24 +4383,23 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client.
 func (r *CustomchannelsService) Get(adClientId string, customChannelId string) *CustomchannelsGetCall {
-	c := &CustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsGetCall) Fields(s ...googleapi.Field) *CustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4232,13 +4409,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsGetCall) IfNoneMatch(entityTag string) *CustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsGetCall) Context(ctx context.Context) *CustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4246,17 +4423,21 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4336,17 +4517,16 @@
 // method id "adsense.customchannels.list":
 
 type CustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for this
 // AdSense account.
 func (r *CustomchannelsService) List(adClientId string) *CustomchannelsListCall {
-	c := &CustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -4355,7 +4535,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *CustomchannelsListCall) MaxResults(maxResults int64) *CustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4364,15 +4544,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *CustomchannelsListCall) PageToken(pageToken string) *CustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsListCall) Fields(s ...googleapi.Field) *CustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4382,13 +4562,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsListCall) IfNoneMatch(entityTag string) *CustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsListCall) Context(ctx context.Context) *CustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4396,16 +4576,26 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4494,14 +4684,13 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *CustomchannelsAdunitsService) List(adClientId string, customChannelId string) *CustomchannelsAdunitsListCall {
-	c := &CustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
@@ -4510,14 +4699,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *CustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *CustomchannelsAdunitsListCall) MaxResults(maxResults int64) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4526,15 +4715,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CustomchannelsAdunitsListCall) PageToken(pageToken string) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4544,13 +4733,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *CustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsAdunitsListCall) Context(ctx context.Context) *CustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4558,17 +4747,30 @@
 
 func (c *CustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4666,26 +4868,27 @@
 // method id "adsense.reports.generate":
 
 type ReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *ReportsService) Generate(startDate string, endDate string) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // AccountId sets the optional parameter "accountId": Accounts upon
 // which to report.
-func (c *ReportsGenerateCall) AccountId(accountId []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("accountId", append([]string{}, accountId...))
+func (c *ReportsGenerateCall) AccountId(accountId string) *ReportsGenerateCall {
+	c.opt_["accountId"] = accountId
 	return c
 }
 
@@ -4693,21 +4896,21 @@
 // use when reporting on monetary metrics. Defaults to the account's
 // currency if not set.
 func (c *ReportsGenerateCall) Currency(currency string) *ReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *ReportsGenerateCall) Dimension(dimension []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *ReportsGenerateCall) Dimension(dimension string) *ReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *ReportsGenerateCall) Filter(filter []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *ReportsGenerateCall) Filter(filter string) *ReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -4715,21 +4918,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsGenerateCall) Locale(locale string) *ReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsGenerateCall) MaxResults(maxResults int64) *ReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *ReportsGenerateCall) Metric(metric []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *ReportsGenerateCall) Metric(metric string) *ReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -4737,23 +4940,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *ReportsGenerateCall) Sort(sort []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *ReportsGenerateCall) Sort(sort string) *ReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsGenerateCall) StartIndex(startIndex int64) *ReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4763,13 +4966,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGenerateCall) IfNoneMatch(entityTag string) *ReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -4777,14 +4980,47 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["accountId"]; ok {
+		params.Set("accountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4946,15 +5182,14 @@
 type ReportsSavedGenerateCall struct {
 	s             *Service
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an AdSense report based on the saved report ID
 // sent in the query parameters.
 func (r *ReportsSavedService) Generate(savedReportId string) *ReportsSavedGenerateCall {
-	c := &ReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedReportId = savedReportId
 	return c
 }
@@ -4963,29 +5198,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsSavedGenerateCall) Locale(locale string) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsSavedGenerateCall) MaxResults(maxResults int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsSavedGenerateCall) StartIndex(startIndex int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedGenerateCall) Fields(s ...googleapi.Field) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4995,13 +5230,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedGenerateCall) IfNoneMatch(entityTag string) *ReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedGenerateCall) Context(ctx context.Context) *ReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -5009,16 +5244,29 @@
 
 func (c *ReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5113,22 +5361,21 @@
 // method id "adsense.reports.saved.list":
 
 type ReportsSavedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved reports in this AdSense account.
 func (r *ReportsSavedService) List() *ReportsSavedListCall {
-	c := &ReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *ReportsSavedListCall) MaxResults(maxResults int64) *ReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5137,15 +5384,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *ReportsSavedListCall) PageToken(pageToken string) *ReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedListCall) Fields(s ...googleapi.Field) *ReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5155,13 +5402,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedListCall) IfNoneMatch(entityTag string) *ReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedListCall) Context(ctx context.Context) *ReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -5169,14 +5416,24 @@
 
 func (c *ReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5255,23 +5512,22 @@
 type SavedadstylesGetCall struct {
 	s              *Service
 	savedAdStyleId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Get a specific saved ad style from the user's account.
 func (r *SavedadstylesService) Get(savedAdStyleId string) *SavedadstylesGetCall {
-	c := &SavedadstylesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedadstylesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedAdStyleId = savedAdStyleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedadstylesGetCall) Fields(s ...googleapi.Field) *SavedadstylesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5281,13 +5537,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedadstylesGetCall) IfNoneMatch(entityTag string) *SavedadstylesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedadstylesGetCall) Context(ctx context.Context) *SavedadstylesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5295,16 +5551,20 @@
 
 func (c *SavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "savedadstyles/{savedAdStyleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedAdStyleId": c.savedAdStyleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5377,15 +5637,14 @@
 // method id "adsense.savedadstyles.list":
 
 type SavedadstylesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved ad styles in the user's account.
 func (r *SavedadstylesService) List() *SavedadstylesListCall {
-	c := &SavedadstylesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedadstylesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -5393,7 +5652,7 @@
 // number of saved ad styles to include in the response, used for
 // paging.
 func (c *SavedadstylesListCall) MaxResults(maxResults int64) *SavedadstylesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5402,15 +5661,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *SavedadstylesListCall) PageToken(pageToken string) *SavedadstylesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedadstylesListCall) Fields(s ...googleapi.Field) *SavedadstylesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5420,13 +5679,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedadstylesListCall) IfNoneMatch(entityTag string) *SavedadstylesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedadstylesListCall) Context(ctx context.Context) *SavedadstylesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5434,14 +5693,24 @@
 
 func (c *SavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "savedadstyles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5518,17 +5787,16 @@
 // method id "adsense.urlchannels.list":
 
 type UrlchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for this
 // AdSense account.
 func (r *UrlchannelsService) List(adClientId string) *UrlchannelsListCall {
-	c := &UrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -5536,7 +5804,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *UrlchannelsListCall) MaxResults(maxResults int64) *UrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5545,15 +5813,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *UrlchannelsListCall) PageToken(pageToken string) *UrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsListCall) Fields(s ...googleapi.Field) *UrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5563,13 +5831,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlchannelsListCall) IfNoneMatch(entityTag string) *UrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsListCall) Context(ctx context.Context) *UrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5577,16 +5845,26 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adsense/v1.3/adsense-gen.go b/adsense/v1.3/adsense-gen.go
index 183ecf4..d0df3bc 100644
--- a/adsense/v1.3/adsense-gen.go
+++ b/adsense/v1.3/adsense-gen.go
@@ -1343,16 +1343,15 @@
 // method id "adsense.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected AdSense account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1360,15 +1359,15 @@
 // Tree sets the optional parameter "tree": Whether the tree of sub
 // accounts should be returned.
 func (c *AccountsGetCall) Tree(tree bool) *AccountsGetCall {
-	c.urlParams_.Set("tree", fmt.Sprintf("%v", tree))
+	c.opt_["tree"] = tree
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1378,13 +1377,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1392,16 +1391,23 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["tree"]; ok {
+		params.Set("tree", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1479,22 +1485,21 @@
 // method id "adsense.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all accounts available to this AdSense account.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of accounts to include in the response, used for paging.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1503,15 +1508,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1521,13 +1526,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1535,14 +1540,24 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1619,16 +1634,15 @@
 // method id "adsense.accounts.adclients.list":
 
 type AccountsAdclientsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all ad clients in the specified account.
 func (r *AccountsAdclientsService) List(accountId string) *AccountsAdclientsListCall {
-	c := &AccountsAdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1636,7 +1650,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AccountsAdclientsListCall) MaxResults(maxResults int64) *AccountsAdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1645,15 +1659,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdclientsListCall) PageToken(pageToken string) *AccountsAdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdclientsListCall) Fields(s ...googleapi.Field) *AccountsAdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1663,13 +1677,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdclientsListCall) IfNoneMatch(entityTag string) *AccountsAdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdclientsListCall) Context(ctx context.Context) *AccountsAdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1677,16 +1691,26 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1772,30 +1796,29 @@
 // method id "adsense.accounts.adunits.get":
 
 type AccountsAdunitsGetCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client for the
 // specified account.
 func (r *AccountsAdunitsService) Get(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetCall {
-	c := &AccountsAdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1805,13 +1828,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetCall) Context(ctx context.Context) *AccountsAdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1819,9 +1842,13 @@
 
 func (c *AccountsAdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1829,8 +1856,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1917,29 +1944,28 @@
 // method id "adsense.accounts.adunits.getAdCode":
 
 type AccountsAdunitsGetAdCodeCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetAdCode: Get ad code for the specified ad unit.
 func (r *AccountsAdunitsService) GetAdCode(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetAdCodeCall {
-	c := &AccountsAdunitsGetAdCodeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetAdCodeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetAdCodeCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetAdCodeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1949,13 +1975,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetAdCodeCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetAdCodeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetAdCodeCall) Context(ctx context.Context) *AccountsAdunitsGetAdCodeCall {
 	c.ctx_ = ctx
 	return c
@@ -1963,9 +1989,13 @@
 
 func (c *AccountsAdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1973,8 +2003,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2061,18 +2091,17 @@
 // method id "adsense.accounts.adunits.list":
 
 type AccountsAdunitsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for the specified
 // account.
 func (r *AccountsAdunitsService) List(accountId string, adClientId string) *AccountsAdunitsListCall {
-	c := &AccountsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -2081,14 +2110,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsAdunitsListCall) MaxResults(maxResults int64) *AccountsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2097,15 +2126,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdunitsListCall) PageToken(pageToken string) *AccountsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2115,13 +2144,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsListCall) Context(ctx context.Context) *AccountsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2129,17 +2158,30 @@
 
 func (c *AccountsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2237,19 +2279,18 @@
 // method id "adsense.accounts.adunits.customchannels.list":
 
 type AccountsAdunitsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AccountsAdunitsCustomchannelsService) List(accountId string, adClientId string, adUnitId string) *AccountsAdunitsCustomchannelsListCall {
-	c := &AccountsAdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
@@ -2260,7 +2301,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsAdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2269,15 +2310,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsAdunitsCustomchannelsListCall) PageToken(pageToken string) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2287,13 +2328,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsCustomchannelsListCall) Context(ctx context.Context) *AccountsAdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2301,9 +2342,19 @@
 
 func (c *AccountsAdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -2311,8 +2362,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2412,16 +2463,15 @@
 // method id "adsense.accounts.alerts.list":
 
 type AccountsAlertsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the alerts for the specified AdSense account.
 func (r *AccountsAlertsService) List(accountId string) *AccountsAlertsListCall {
-	c := &AccountsAlertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAlertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -2431,15 +2481,15 @@
 // is not supplied. The AdSense default (English) will be used if the
 // supplied locale is invalid or unsupported.
 func (c *AccountsAlertsListCall) Locale(locale string) *AccountsAlertsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAlertsListCall) Fields(s ...googleapi.Field) *AccountsAlertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2449,13 +2499,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAlertsListCall) IfNoneMatch(entityTag string) *AccountsAlertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAlertsListCall) Context(ctx context.Context) *AccountsAlertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2463,16 +2513,23 @@
 
 func (c *AccountsAlertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/alerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2554,26 +2611,25 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client
 // for the specified account.
 func (r *AccountsCustomchannelsService) Get(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsGetCall {
-	c := &AccountsCustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsGetCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2583,13 +2639,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsGetCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsGetCall) Context(ctx context.Context) *AccountsCustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2597,9 +2653,13 @@
 
 func (c *AccountsCustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -2607,8 +2667,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2695,18 +2755,17 @@
 // method id "adsense.accounts.customchannels.list":
 
 type AccountsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for the
 // specified account.
 func (r *AccountsCustomchannelsService) List(accountId string, adClientId string) *AccountsCustomchannelsListCall {
-	c := &AccountsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -2716,7 +2775,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2725,15 +2784,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsCustomchannelsListCall) PageToken(pageToken string) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2743,13 +2802,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsListCall) Context(ctx context.Context) *AccountsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2757,17 +2816,27 @@
 
 func (c *AccountsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2864,14 +2933,13 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *AccountsCustomchannelsAdunitsService) List(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsAdunitsListCall {
-	c := &AccountsCustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
@@ -2881,14 +2949,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsCustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsCustomchannelsAdunitsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2897,15 +2965,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsCustomchannelsAdunitsListCall) PageToken(pageToken string) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2915,13 +2983,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsAdunitsListCall) Context(ctx context.Context) *AccountsCustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2929,9 +2997,22 @@
 
 func (c *AccountsCustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -2939,8 +3020,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3045,21 +3126,22 @@
 // method id "adsense.accounts.reports.generate":
 
 type AccountsReportsGenerateCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *AccountsReportsService) Generate(accountId string, startDate string, endDate string) *AccountsReportsGenerateCall {
-	c := &AccountsReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
@@ -3067,21 +3149,21 @@
 // use when reporting on monetary metrics. Defaults to the account's
 // currency if not set.
 func (c *AccountsReportsGenerateCall) Currency(currency string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *AccountsReportsGenerateCall) Dimension(dimension []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *AccountsReportsGenerateCall) Dimension(dimension string) *AccountsReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *AccountsReportsGenerateCall) Filter(filter []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *AccountsReportsGenerateCall) Filter(filter string) *AccountsReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -3089,21 +3171,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsGenerateCall) Locale(locale string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsGenerateCall) MaxResults(maxResults int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *AccountsReportsGenerateCall) Metric(metric []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *AccountsReportsGenerateCall) Metric(metric string) *AccountsReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -3111,15 +3193,15 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *AccountsReportsGenerateCall) Sort(sort []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *AccountsReportsGenerateCall) Sort(sort string) *AccountsReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsGenerateCall) StartIndex(startIndex int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
@@ -3128,15 +3210,15 @@
 // AdSense account's local timezone. If false default PST/PDT timezone
 // will be used.
 func (c *AccountsReportsGenerateCall) UseTimezoneReporting(useTimezoneReporting bool) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("useTimezoneReporting", fmt.Sprintf("%v", useTimezoneReporting))
+	c.opt_["useTimezoneReporting"] = useTimezoneReporting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3146,13 +3228,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsGenerateCall) Context(ctx context.Context) *AccountsReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -3160,16 +3242,49 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useTimezoneReporting"]; ok {
+		params.Set("useTimezoneReporting", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3338,15 +3453,14 @@
 	s             *Service
 	accountId     string
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an AdSense report based on the saved report ID
 // sent in the query parameters.
 func (r *AccountsReportsSavedService) Generate(accountId string, savedReportId string) *AccountsReportsSavedGenerateCall {
-	c := &AccountsReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedReportId = savedReportId
 	return c
@@ -3356,29 +3470,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsSavedGenerateCall) Locale(locale string) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsSavedGenerateCall) MaxResults(maxResults int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsSavedGenerateCall) StartIndex(startIndex int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3388,13 +3502,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedGenerateCall) Context(ctx context.Context) *AccountsReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -3402,17 +3516,30 @@
 
 func (c *AccountsReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3514,16 +3641,15 @@
 // method id "adsense.accounts.reports.saved.list":
 
 type AccountsReportsSavedListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved reports in the specified AdSense account.
 func (r *AccountsReportsSavedService) List(accountId string) *AccountsReportsSavedListCall {
-	c := &AccountsReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -3531,7 +3657,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *AccountsReportsSavedListCall) MaxResults(maxResults int64) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3540,15 +3666,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsReportsSavedListCall) PageToken(pageToken string) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedListCall) Fields(s ...googleapi.Field) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3558,13 +3684,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedListCall) IfNoneMatch(entityTag string) *AccountsReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedListCall) Context(ctx context.Context) *AccountsReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -3572,16 +3698,26 @@
 
 func (c *AccountsReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3670,24 +3806,23 @@
 	s              *Service
 	accountId      string
 	savedAdStyleId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: List a specific saved ad style for the specified account.
 func (r *AccountsSavedadstylesService) Get(accountId string, savedAdStyleId string) *AccountsSavedadstylesGetCall {
-	c := &AccountsSavedadstylesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsSavedadstylesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedAdStyleId = savedAdStyleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsSavedadstylesGetCall) Fields(s ...googleapi.Field) *AccountsSavedadstylesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3697,13 +3832,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsSavedadstylesGetCall) IfNoneMatch(entityTag string) *AccountsSavedadstylesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsSavedadstylesGetCall) Context(ctx context.Context) *AccountsSavedadstylesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3711,17 +3846,21 @@
 
 func (c *AccountsSavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/savedadstyles/{savedAdStyleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":      c.accountId,
 		"savedAdStyleId": c.savedAdStyleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3801,16 +3940,15 @@
 // method id "adsense.accounts.savedadstyles.list":
 
 type AccountsSavedadstylesListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved ad styles in the specified account.
 func (r *AccountsSavedadstylesService) List(accountId string) *AccountsSavedadstylesListCall {
-	c := &AccountsSavedadstylesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsSavedadstylesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -3819,7 +3957,7 @@
 // number of saved ad styles to include in the response, used for
 // paging.
 func (c *AccountsSavedadstylesListCall) MaxResults(maxResults int64) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3828,15 +3966,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsSavedadstylesListCall) PageToken(pageToken string) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsSavedadstylesListCall) Fields(s ...googleapi.Field) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3846,13 +3984,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsSavedadstylesListCall) IfNoneMatch(entityTag string) *AccountsSavedadstylesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsSavedadstylesListCall) Context(ctx context.Context) *AccountsSavedadstylesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3860,16 +3998,26 @@
 
 func (c *AccountsSavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/savedadstyles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3955,18 +4103,17 @@
 // method id "adsense.accounts.urlchannels.list":
 
 type AccountsUrlchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for the
 // specified account.
 func (r *AccountsUrlchannelsService) List(accountId string, adClientId string) *AccountsUrlchannelsListCall {
-	c := &AccountsUrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -3975,7 +4122,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *AccountsUrlchannelsListCall) MaxResults(maxResults int64) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3984,15 +4131,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsUrlchannelsListCall) PageToken(pageToken string) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUrlchannelsListCall) Fields(s ...googleapi.Field) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4002,13 +4149,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsUrlchannelsListCall) IfNoneMatch(entityTag string) *AccountsUrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUrlchannelsListCall) Context(ctx context.Context) *AccountsUrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4016,17 +4163,27 @@
 
 func (c *AccountsUrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4119,22 +4276,21 @@
 // method id "adsense.adclients.list":
 
 type AdclientsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all ad clients in this AdSense account.
 func (r *AdclientsService) List() *AdclientsListCall {
-	c := &AdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AdclientsListCall) MaxResults(maxResults int64) *AdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4143,15 +4299,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdclientsListCall) PageToken(pageToken string) *AdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsListCall) Fields(s ...googleapi.Field) *AdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4161,13 +4317,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsListCall) IfNoneMatch(entityTag string) *AdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsListCall) Context(ctx context.Context) *AdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4175,14 +4331,24 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4259,27 +4425,26 @@
 // method id "adsense.adunits.get":
 
 type AdunitsGetCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client.
 func (r *AdunitsService) Get(adClientId string, adUnitId string) *AdunitsGetCall {
-	c := &AdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetCall) Fields(s ...googleapi.Field) *AdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4289,13 +4454,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetCall) IfNoneMatch(entityTag string) *AdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetCall) Context(ctx context.Context) *AdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4303,17 +4468,21 @@
 
 func (c *AdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4393,27 +4562,26 @@
 // method id "adsense.adunits.getAdCode":
 
 type AdunitsGetAdCodeCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetAdCode: Get ad code for the specified ad unit.
 func (r *AdunitsService) GetAdCode(adClientId string, adUnitId string) *AdunitsGetAdCodeCall {
-	c := &AdunitsGetAdCodeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetAdCodeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetAdCodeCall) Fields(s ...googleapi.Field) *AdunitsGetAdCodeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4423,13 +4591,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetAdCodeCall) IfNoneMatch(entityTag string) *AdunitsGetAdCodeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetAdCodeCall) Context(ctx context.Context) *AdunitsGetAdCodeCall {
 	c.ctx_ = ctx
 	return c
@@ -4437,17 +4605,21 @@
 
 func (c *AdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/adcode")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4527,17 +4699,16 @@
 // method id "adsense.adunits.list":
 
 type AdunitsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for this AdSense
 // account.
 func (r *AdunitsService) List(adClientId string) *AdunitsListCall {
-	c := &AdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -4545,14 +4716,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AdunitsListCall) IncludeInactive(includeInactive bool) *AdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AdunitsListCall) MaxResults(maxResults int64) *AdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4561,15 +4732,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdunitsListCall) PageToken(pageToken string) *AdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsListCall) Fields(s ...googleapi.Field) *AdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4579,13 +4750,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsListCall) IfNoneMatch(entityTag string) *AdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsListCall) Context(ctx context.Context) *AdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4593,16 +4764,29 @@
 
 func (c *AdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4693,18 +4877,17 @@
 // method id "adsense.adunits.customchannels.list":
 
 type AdunitsCustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AdunitsCustomchannelsService) List(adClientId string, adUnitId string) *AdunitsCustomchannelsListCall {
-	c := &AdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
@@ -4714,7 +4897,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4723,15 +4906,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AdunitsCustomchannelsListCall) PageToken(pageToken string) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4741,13 +4924,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsCustomchannelsListCall) Context(ctx context.Context) *AdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4755,17 +4938,27 @@
 
 func (c *AdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4858,15 +5051,14 @@
 // method id "adsense.alerts.list":
 
 type AlertsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the alerts for this AdSense account.
 func (r *AlertsService) List() *AlertsListCall {
-	c := &AlertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AlertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -4875,15 +5067,15 @@
 // is not supplied. The AdSense default (English) will be used if the
 // supplied locale is invalid or unsupported.
 func (c *AlertsListCall) Locale(locale string) *AlertsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AlertsListCall) Fields(s ...googleapi.Field) *AlertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4893,13 +5085,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AlertsListCall) IfNoneMatch(entityTag string) *AlertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AlertsListCall) Context(ctx context.Context) *AlertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4907,14 +5099,21 @@
 
 func (c *AlertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "alerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4986,24 +5185,23 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client.
 func (r *CustomchannelsService) Get(adClientId string, customChannelId string) *CustomchannelsGetCall {
-	c := &CustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsGetCall) Fields(s ...googleapi.Field) *CustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5013,13 +5211,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsGetCall) IfNoneMatch(entityTag string) *CustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsGetCall) Context(ctx context.Context) *CustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5027,17 +5225,21 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5117,17 +5319,16 @@
 // method id "adsense.customchannels.list":
 
 type CustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for this
 // AdSense account.
 func (r *CustomchannelsService) List(adClientId string) *CustomchannelsListCall {
-	c := &CustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -5136,7 +5337,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *CustomchannelsListCall) MaxResults(maxResults int64) *CustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5145,15 +5346,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *CustomchannelsListCall) PageToken(pageToken string) *CustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsListCall) Fields(s ...googleapi.Field) *CustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5163,13 +5364,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsListCall) IfNoneMatch(entityTag string) *CustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsListCall) Context(ctx context.Context) *CustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5177,16 +5378,26 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5275,14 +5486,13 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *CustomchannelsAdunitsService) List(adClientId string, customChannelId string) *CustomchannelsAdunitsListCall {
-	c := &CustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
@@ -5291,14 +5501,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *CustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *CustomchannelsAdunitsListCall) MaxResults(maxResults int64) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5307,15 +5517,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CustomchannelsAdunitsListCall) PageToken(pageToken string) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5325,13 +5535,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *CustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsAdunitsListCall) Context(ctx context.Context) *CustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5339,17 +5549,30 @@
 
 func (c *CustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5447,24 +5670,23 @@
 // method id "adsense.metadata.dimensions.list":
 
 type MetadataDimensionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the metadata for the dimensions available to this AdSense
 // account.
 func (r *MetadataDimensionsService) List() *MetadataDimensionsListCall {
-	c := &MetadataDimensionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataDimensionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataDimensionsListCall) Fields(s ...googleapi.Field) *MetadataDimensionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5474,13 +5696,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataDimensionsListCall) IfNoneMatch(entityTag string) *MetadataDimensionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataDimensionsListCall) Context(ctx context.Context) *MetadataDimensionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5488,14 +5710,18 @@
 
 func (c *MetadataDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/dimensions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5557,24 +5783,23 @@
 // method id "adsense.metadata.metrics.list":
 
 type MetadataMetricsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the metadata for the metrics available to this AdSense
 // account.
 func (r *MetadataMetricsService) List() *MetadataMetricsListCall {
-	c := &MetadataMetricsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataMetricsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataMetricsListCall) Fields(s ...googleapi.Field) *MetadataMetricsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5584,13 +5809,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataMetricsListCall) IfNoneMatch(entityTag string) *MetadataMetricsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataMetricsListCall) Context(ctx context.Context) *MetadataMetricsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5598,14 +5823,18 @@
 
 func (c *MetadataMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/metrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5667,26 +5896,27 @@
 // method id "adsense.reports.generate":
 
 type ReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *ReportsService) Generate(startDate string, endDate string) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // AccountId sets the optional parameter "accountId": Accounts upon
 // which to report.
-func (c *ReportsGenerateCall) AccountId(accountId []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("accountId", append([]string{}, accountId...))
+func (c *ReportsGenerateCall) AccountId(accountId string) *ReportsGenerateCall {
+	c.opt_["accountId"] = accountId
 	return c
 }
 
@@ -5694,21 +5924,21 @@
 // use when reporting on monetary metrics. Defaults to the account's
 // currency if not set.
 func (c *ReportsGenerateCall) Currency(currency string) *ReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *ReportsGenerateCall) Dimension(dimension []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *ReportsGenerateCall) Dimension(dimension string) *ReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *ReportsGenerateCall) Filter(filter []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *ReportsGenerateCall) Filter(filter string) *ReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -5716,21 +5946,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsGenerateCall) Locale(locale string) *ReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsGenerateCall) MaxResults(maxResults int64) *ReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *ReportsGenerateCall) Metric(metric []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *ReportsGenerateCall) Metric(metric string) *ReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -5738,15 +5968,15 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *ReportsGenerateCall) Sort(sort []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *ReportsGenerateCall) Sort(sort string) *ReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsGenerateCall) StartIndex(startIndex int64) *ReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
@@ -5755,15 +5985,15 @@
 // AdSense account's local timezone. If false default PST/PDT timezone
 // will be used.
 func (c *ReportsGenerateCall) UseTimezoneReporting(useTimezoneReporting bool) *ReportsGenerateCall {
-	c.urlParams_.Set("useTimezoneReporting", fmt.Sprintf("%v", useTimezoneReporting))
+	c.opt_["useTimezoneReporting"] = useTimezoneReporting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5773,13 +6003,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGenerateCall) IfNoneMatch(entityTag string) *ReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -5787,14 +6017,50 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["accountId"]; ok {
+		params.Set("accountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useTimezoneReporting"]; ok {
+		params.Set("useTimezoneReporting", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5961,15 +6227,14 @@
 type ReportsSavedGenerateCall struct {
 	s             *Service
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an AdSense report based on the saved report ID
 // sent in the query parameters.
 func (r *ReportsSavedService) Generate(savedReportId string) *ReportsSavedGenerateCall {
-	c := &ReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedReportId = savedReportId
 	return c
 }
@@ -5978,29 +6243,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsSavedGenerateCall) Locale(locale string) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsSavedGenerateCall) MaxResults(maxResults int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsSavedGenerateCall) StartIndex(startIndex int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedGenerateCall) Fields(s ...googleapi.Field) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6010,13 +6275,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedGenerateCall) IfNoneMatch(entityTag string) *ReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedGenerateCall) Context(ctx context.Context) *ReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -6024,16 +6289,29 @@
 
 func (c *ReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6128,22 +6406,21 @@
 // method id "adsense.reports.saved.list":
 
 type ReportsSavedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved reports in this AdSense account.
 func (r *ReportsSavedService) List() *ReportsSavedListCall {
-	c := &ReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *ReportsSavedListCall) MaxResults(maxResults int64) *ReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6152,15 +6429,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *ReportsSavedListCall) PageToken(pageToken string) *ReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedListCall) Fields(s ...googleapi.Field) *ReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6170,13 +6447,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedListCall) IfNoneMatch(entityTag string) *ReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedListCall) Context(ctx context.Context) *ReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -6184,14 +6461,24 @@
 
 func (c *ReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6270,23 +6557,22 @@
 type SavedadstylesGetCall struct {
 	s              *Service
 	savedAdStyleId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Get a specific saved ad style from the user's account.
 func (r *SavedadstylesService) Get(savedAdStyleId string) *SavedadstylesGetCall {
-	c := &SavedadstylesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedadstylesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedAdStyleId = savedAdStyleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedadstylesGetCall) Fields(s ...googleapi.Field) *SavedadstylesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6296,13 +6582,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedadstylesGetCall) IfNoneMatch(entityTag string) *SavedadstylesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedadstylesGetCall) Context(ctx context.Context) *SavedadstylesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6310,16 +6596,20 @@
 
 func (c *SavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "savedadstyles/{savedAdStyleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedAdStyleId": c.savedAdStyleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6392,15 +6682,14 @@
 // method id "adsense.savedadstyles.list":
 
 type SavedadstylesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved ad styles in the user's account.
 func (r *SavedadstylesService) List() *SavedadstylesListCall {
-	c := &SavedadstylesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedadstylesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6408,7 +6697,7 @@
 // number of saved ad styles to include in the response, used for
 // paging.
 func (c *SavedadstylesListCall) MaxResults(maxResults int64) *SavedadstylesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6417,15 +6706,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *SavedadstylesListCall) PageToken(pageToken string) *SavedadstylesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedadstylesListCall) Fields(s ...googleapi.Field) *SavedadstylesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6435,13 +6724,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedadstylesListCall) IfNoneMatch(entityTag string) *SavedadstylesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedadstylesListCall) Context(ctx context.Context) *SavedadstylesListCall {
 	c.ctx_ = ctx
 	return c
@@ -6449,14 +6738,24 @@
 
 func (c *SavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "savedadstyles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6533,17 +6832,16 @@
 // method id "adsense.urlchannels.list":
 
 type UrlchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for this
 // AdSense account.
 func (r *UrlchannelsService) List(adClientId string) *UrlchannelsListCall {
-	c := &UrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -6551,7 +6849,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *UrlchannelsListCall) MaxResults(maxResults int64) *UrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6560,15 +6858,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *UrlchannelsListCall) PageToken(pageToken string) *UrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsListCall) Fields(s ...googleapi.Field) *UrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6578,13 +6876,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlchannelsListCall) IfNoneMatch(entityTag string) *UrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsListCall) Context(ctx context.Context) *UrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6592,16 +6890,26 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adsense/v1.4/adsense-gen.go b/adsense/v1.4/adsense-gen.go
index e218500..89288fd 100644
--- a/adsense/v1.4/adsense-gen.go
+++ b/adsense/v1.4/adsense-gen.go
@@ -1444,16 +1444,15 @@
 // method id "adsense.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected AdSense account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1461,15 +1460,15 @@
 // Tree sets the optional parameter "tree": Whether the tree of sub
 // accounts should be returned.
 func (c *AccountsGetCall) Tree(tree bool) *AccountsGetCall {
-	c.urlParams_.Set("tree", fmt.Sprintf("%v", tree))
+	c.opt_["tree"] = tree
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1479,13 +1478,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1493,16 +1492,23 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["tree"]; ok {
+		params.Set("tree", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1580,22 +1586,21 @@
 // method id "adsense.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all accounts available to this AdSense account.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of accounts to include in the response, used for paging.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1604,15 +1609,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1622,13 +1627,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1636,14 +1641,24 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1720,16 +1735,15 @@
 // method id "adsense.accounts.adclients.list":
 
 type AccountsAdclientsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all ad clients in the specified account.
 func (r *AccountsAdclientsService) List(accountId string) *AccountsAdclientsListCall {
-	c := &AccountsAdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1737,7 +1751,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AccountsAdclientsListCall) MaxResults(maxResults int64) *AccountsAdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1746,15 +1760,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdclientsListCall) PageToken(pageToken string) *AccountsAdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdclientsListCall) Fields(s ...googleapi.Field) *AccountsAdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1764,13 +1778,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdclientsListCall) IfNoneMatch(entityTag string) *AccountsAdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdclientsListCall) Context(ctx context.Context) *AccountsAdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1778,16 +1792,26 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1873,30 +1897,29 @@
 // method id "adsense.accounts.adunits.get":
 
 type AccountsAdunitsGetCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client for the
 // specified account.
 func (r *AccountsAdunitsService) Get(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetCall {
-	c := &AccountsAdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1906,13 +1929,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetCall) Context(ctx context.Context) *AccountsAdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1920,9 +1943,13 @@
 
 func (c *AccountsAdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1930,8 +1957,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2018,29 +2045,28 @@
 // method id "adsense.accounts.adunits.getAdCode":
 
 type AccountsAdunitsGetAdCodeCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetAdCode: Get ad code for the specified ad unit.
 func (r *AccountsAdunitsService) GetAdCode(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetAdCodeCall {
-	c := &AccountsAdunitsGetAdCodeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetAdCodeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetAdCodeCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetAdCodeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2050,13 +2076,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetAdCodeCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetAdCodeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetAdCodeCall) Context(ctx context.Context) *AccountsAdunitsGetAdCodeCall {
 	c.ctx_ = ctx
 	return c
@@ -2064,9 +2090,13 @@
 
 func (c *AccountsAdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -2074,8 +2104,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2162,18 +2192,17 @@
 // method id "adsense.accounts.adunits.list":
 
 type AccountsAdunitsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for the specified
 // account.
 func (r *AccountsAdunitsService) List(accountId string, adClientId string) *AccountsAdunitsListCall {
-	c := &AccountsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -2182,14 +2211,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsAdunitsListCall) MaxResults(maxResults int64) *AccountsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2198,15 +2227,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdunitsListCall) PageToken(pageToken string) *AccountsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2216,13 +2245,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsListCall) Context(ctx context.Context) *AccountsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2230,17 +2259,30 @@
 
 func (c *AccountsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2338,19 +2380,18 @@
 // method id "adsense.accounts.adunits.customchannels.list":
 
 type AccountsAdunitsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AccountsAdunitsCustomchannelsService) List(accountId string, adClientId string, adUnitId string) *AccountsAdunitsCustomchannelsListCall {
-	c := &AccountsAdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
@@ -2361,7 +2402,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsAdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2370,15 +2411,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsAdunitsCustomchannelsListCall) PageToken(pageToken string) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2388,13 +2429,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsCustomchannelsListCall) Context(ctx context.Context) *AccountsAdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2402,9 +2443,19 @@
 
 func (c *AccountsAdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -2412,8 +2463,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2513,33 +2564,33 @@
 // method id "adsense.accounts.alerts.delete":
 
 type AccountsAlertsDeleteCall struct {
-	s          *Service
-	accountId  string
-	alertId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	alertId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Dismiss (delete) the specified alert from the specified
 // publisher AdSense account.
 func (r *AccountsAlertsService) Delete(accountId string, alertId string) *AccountsAlertsDeleteCall {
-	c := &AccountsAlertsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAlertsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.alertId = alertId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAlertsDeleteCall) Fields(s ...googleapi.Field) *AccountsAlertsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAlertsDeleteCall) Context(ctx context.Context) *AccountsAlertsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2547,9 +2598,13 @@
 
 func (c *AccountsAlertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/alerts/{alertId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -2606,16 +2661,15 @@
 // method id "adsense.accounts.alerts.list":
 
 type AccountsAlertsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the alerts for the specified AdSense account.
 func (r *AccountsAlertsService) List(accountId string) *AccountsAlertsListCall {
-	c := &AccountsAlertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAlertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -2625,15 +2679,15 @@
 // is not supplied. The AdSense default (English) will be used if the
 // supplied locale is invalid or unsupported.
 func (c *AccountsAlertsListCall) Locale(locale string) *AccountsAlertsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAlertsListCall) Fields(s ...googleapi.Field) *AccountsAlertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2643,13 +2697,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAlertsListCall) IfNoneMatch(entityTag string) *AccountsAlertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAlertsListCall) Context(ctx context.Context) *AccountsAlertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2657,16 +2711,23 @@
 
 func (c *AccountsAlertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/alerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2748,26 +2809,25 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client
 // for the specified account.
 func (r *AccountsCustomchannelsService) Get(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsGetCall {
-	c := &AccountsCustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsGetCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2777,13 +2837,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsGetCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsGetCall) Context(ctx context.Context) *AccountsCustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2791,9 +2851,13 @@
 
 func (c *AccountsCustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -2801,8 +2865,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2889,18 +2953,17 @@
 // method id "adsense.accounts.customchannels.list":
 
 type AccountsCustomchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for the
 // specified account.
 func (r *AccountsCustomchannelsService) List(accountId string, adClientId string) *AccountsCustomchannelsListCall {
-	c := &AccountsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -2910,7 +2973,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AccountsCustomchannelsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2919,15 +2982,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsCustomchannelsListCall) PageToken(pageToken string) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2937,13 +3000,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsListCall) Context(ctx context.Context) *AccountsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2951,17 +3014,27 @@
 
 func (c *AccountsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3058,14 +3131,13 @@
 	accountId       string
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *AccountsCustomchannelsAdunitsService) List(accountId string, adClientId string, customChannelId string) *AccountsCustomchannelsAdunitsListCall {
-	c := &AccountsCustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
@@ -3075,14 +3147,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsCustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsCustomchannelsAdunitsListCall) MaxResults(maxResults int64) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3091,15 +3163,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsCustomchannelsAdunitsListCall) PageToken(pageToken string) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsCustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3109,13 +3181,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsCustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsCustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustomchannelsAdunitsListCall) Context(ctx context.Context) *AccountsCustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3123,9 +3195,22 @@
 
 func (c *AccountsCustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":       c.accountId,
@@ -3133,8 +3218,8 @@
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3239,25 +3324,24 @@
 // method id "adsense.accounts.payments.list":
 
 type AccountsPaymentsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the payments for the specified AdSense account.
 func (r *AccountsPaymentsService) List(accountId string) *AccountsPaymentsListCall {
-	c := &AccountsPaymentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPaymentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPaymentsListCall) Fields(s ...googleapi.Field) *AccountsPaymentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3267,13 +3351,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsPaymentsListCall) IfNoneMatch(entityTag string) *AccountsPaymentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPaymentsListCall) Context(ctx context.Context) *AccountsPaymentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3281,16 +3365,20 @@
 
 func (c *AccountsPaymentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/payments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3363,21 +3451,22 @@
 // method id "adsense.accounts.reports.generate":
 
 type AccountsReportsGenerateCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *AccountsReportsService) Generate(accountId string, startDate string, endDate string) *AccountsReportsGenerateCall {
-	c := &AccountsReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
@@ -3385,21 +3474,21 @@
 // use when reporting on monetary metrics. Defaults to the account's
 // currency if not set.
 func (c *AccountsReportsGenerateCall) Currency(currency string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *AccountsReportsGenerateCall) Dimension(dimension []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *AccountsReportsGenerateCall) Dimension(dimension string) *AccountsReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *AccountsReportsGenerateCall) Filter(filter []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *AccountsReportsGenerateCall) Filter(filter string) *AccountsReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -3407,21 +3496,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsGenerateCall) Locale(locale string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsGenerateCall) MaxResults(maxResults int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *AccountsReportsGenerateCall) Metric(metric []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *AccountsReportsGenerateCall) Metric(metric string) *AccountsReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -3429,15 +3518,15 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *AccountsReportsGenerateCall) Sort(sort []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *AccountsReportsGenerateCall) Sort(sort string) *AccountsReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsGenerateCall) StartIndex(startIndex int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
@@ -3446,15 +3535,15 @@
 // AdSense account's local timezone. If false default PST/PDT timezone
 // will be used.
 func (c *AccountsReportsGenerateCall) UseTimezoneReporting(useTimezoneReporting bool) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("useTimezoneReporting", fmt.Sprintf("%v", useTimezoneReporting))
+	c.opt_["useTimezoneReporting"] = useTimezoneReporting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3464,13 +3553,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsGenerateCall) Context(ctx context.Context) *AccountsReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -3478,16 +3567,49 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useTimezoneReporting"]; ok {
+		params.Set("useTimezoneReporting", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3656,15 +3778,14 @@
 	s             *Service
 	accountId     string
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an AdSense report based on the saved report ID
 // sent in the query parameters.
 func (r *AccountsReportsSavedService) Generate(accountId string, savedReportId string) *AccountsReportsSavedGenerateCall {
-	c := &AccountsReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedReportId = savedReportId
 	return c
@@ -3674,29 +3795,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsSavedGenerateCall) Locale(locale string) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsSavedGenerateCall) MaxResults(maxResults int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsSavedGenerateCall) StartIndex(startIndex int64) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3706,13 +3827,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedGenerateCall) Context(ctx context.Context) *AccountsReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -3720,17 +3841,30 @@
 
 func (c *AccountsReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3832,16 +3966,15 @@
 // method id "adsense.accounts.reports.saved.list":
 
 type AccountsReportsSavedListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved reports in the specified AdSense account.
 func (r *AccountsReportsSavedService) List(accountId string) *AccountsReportsSavedListCall {
-	c := &AccountsReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -3849,7 +3982,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *AccountsReportsSavedListCall) MaxResults(maxResults int64) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3858,15 +3991,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsReportsSavedListCall) PageToken(pageToken string) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsSavedListCall) Fields(s ...googleapi.Field) *AccountsReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3876,13 +4009,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsSavedListCall) IfNoneMatch(entityTag string) *AccountsReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsSavedListCall) Context(ctx context.Context) *AccountsReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -3890,16 +4023,26 @@
 
 func (c *AccountsReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3988,24 +4131,23 @@
 	s              *Service
 	accountId      string
 	savedAdStyleId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: List a specific saved ad style for the specified account.
 func (r *AccountsSavedadstylesService) Get(accountId string, savedAdStyleId string) *AccountsSavedadstylesGetCall {
-	c := &AccountsSavedadstylesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsSavedadstylesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.savedAdStyleId = savedAdStyleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsSavedadstylesGetCall) Fields(s ...googleapi.Field) *AccountsSavedadstylesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4015,13 +4157,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsSavedadstylesGetCall) IfNoneMatch(entityTag string) *AccountsSavedadstylesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsSavedadstylesGetCall) Context(ctx context.Context) *AccountsSavedadstylesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4029,17 +4171,21 @@
 
 func (c *AccountsSavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/savedadstyles/{savedAdStyleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":      c.accountId,
 		"savedAdStyleId": c.savedAdStyleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4119,16 +4265,15 @@
 // method id "adsense.accounts.savedadstyles.list":
 
 type AccountsSavedadstylesListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all saved ad styles in the specified account.
 func (r *AccountsSavedadstylesService) List(accountId string) *AccountsSavedadstylesListCall {
-	c := &AccountsSavedadstylesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsSavedadstylesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -4137,7 +4282,7 @@
 // number of saved ad styles to include in the response, used for
 // paging.
 func (c *AccountsSavedadstylesListCall) MaxResults(maxResults int64) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4146,15 +4291,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AccountsSavedadstylesListCall) PageToken(pageToken string) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsSavedadstylesListCall) Fields(s ...googleapi.Field) *AccountsSavedadstylesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4164,13 +4309,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsSavedadstylesListCall) IfNoneMatch(entityTag string) *AccountsSavedadstylesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsSavedadstylesListCall) Context(ctx context.Context) *AccountsSavedadstylesListCall {
 	c.ctx_ = ctx
 	return c
@@ -4178,16 +4323,26 @@
 
 func (c *AccountsSavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/savedadstyles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4273,18 +4428,17 @@
 // method id "adsense.accounts.urlchannels.list":
 
 type AccountsUrlchannelsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for the
 // specified account.
 func (r *AccountsUrlchannelsService) List(accountId string, adClientId string) *AccountsUrlchannelsListCall {
-	c := &AccountsUrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -4293,7 +4447,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *AccountsUrlchannelsListCall) MaxResults(maxResults int64) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4302,15 +4456,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsUrlchannelsListCall) PageToken(pageToken string) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUrlchannelsListCall) Fields(s ...googleapi.Field) *AccountsUrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4320,13 +4474,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsUrlchannelsListCall) IfNoneMatch(entityTag string) *AccountsUrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUrlchannelsListCall) Context(ctx context.Context) *AccountsUrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4334,17 +4488,27 @@
 
 func (c *AccountsUrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4437,22 +4601,21 @@
 // method id "adsense.adclients.list":
 
 type AdclientsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all ad clients in this AdSense account.
 func (r *AdclientsService) List() *AdclientsListCall {
-	c := &AdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AdclientsListCall) MaxResults(maxResults int64) *AdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4461,15 +4624,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdclientsListCall) PageToken(pageToken string) *AdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsListCall) Fields(s ...googleapi.Field) *AdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4479,13 +4642,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsListCall) IfNoneMatch(entityTag string) *AdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsListCall) Context(ctx context.Context) *AdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4493,14 +4656,24 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4577,27 +4750,26 @@
 // method id "adsense.adunits.get":
 
 type AdunitsGetCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified ad unit in the specified ad client.
 func (r *AdunitsService) Get(adClientId string, adUnitId string) *AdunitsGetCall {
-	c := &AdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetCall) Fields(s ...googleapi.Field) *AdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4607,13 +4779,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetCall) IfNoneMatch(entityTag string) *AdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetCall) Context(ctx context.Context) *AdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4621,17 +4793,21 @@
 
 func (c *AdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4711,27 +4887,26 @@
 // method id "adsense.adunits.getAdCode":
 
 type AdunitsGetAdCodeCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetAdCode: Get ad code for the specified ad unit.
 func (r *AdunitsService) GetAdCode(adClientId string, adUnitId string) *AdunitsGetAdCodeCall {
-	c := &AdunitsGetAdCodeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsGetAdCodeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsGetAdCodeCall) Fields(s ...googleapi.Field) *AdunitsGetAdCodeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4741,13 +4916,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsGetAdCodeCall) IfNoneMatch(entityTag string) *AdunitsGetAdCodeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsGetAdCodeCall) Context(ctx context.Context) *AdunitsGetAdCodeCall {
 	c.ctx_ = ctx
 	return c
@@ -4755,17 +4930,21 @@
 
 func (c *AdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/adcode")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4845,17 +5024,16 @@
 // method id "adsense.adunits.list":
 
 type AdunitsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified ad client for this AdSense
 // account.
 func (r *AdunitsService) List(adClientId string) *AdunitsListCall {
-	c := &AdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -4863,14 +5041,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AdunitsListCall) IncludeInactive(includeInactive bool) *AdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AdunitsListCall) MaxResults(maxResults int64) *AdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4879,15 +5057,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdunitsListCall) PageToken(pageToken string) *AdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsListCall) Fields(s ...googleapi.Field) *AdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4897,13 +5075,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsListCall) IfNoneMatch(entityTag string) *AdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsListCall) Context(ctx context.Context) *AdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4911,16 +5089,29 @@
 
 func (c *AdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5011,18 +5202,17 @@
 // method id "adsense.adunits.customchannels.list":
 
 type AdunitsCustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels which the specified ad unit belongs
 // to.
 func (r *AdunitsCustomchannelsService) List(adClientId string, adUnitId string) *AdunitsCustomchannelsListCall {
-	c := &AdunitsCustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdunitsCustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
@@ -5032,7 +5222,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *AdunitsCustomchannelsListCall) MaxResults(maxResults int64) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5041,15 +5231,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *AdunitsCustomchannelsListCall) PageToken(pageToken string) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdunitsCustomchannelsListCall) Fields(s ...googleapi.Field) *AdunitsCustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5059,13 +5249,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdunitsCustomchannelsListCall) IfNoneMatch(entityTag string) *AdunitsCustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdunitsCustomchannelsListCall) Context(ctx context.Context) *AdunitsCustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5073,17 +5263,27 @@
 
 func (c *AdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/adunits/{adUnitId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5176,31 +5376,31 @@
 // method id "adsense.alerts.delete":
 
 type AlertsDeleteCall struct {
-	s          *Service
-	alertId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	alertId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Dismiss (delete) the specified alert from the publisher's
 // AdSense account.
 func (r *AlertsService) Delete(alertId string) *AlertsDeleteCall {
-	c := &AlertsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AlertsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.alertId = alertId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AlertsDeleteCall) Fields(s ...googleapi.Field) *AlertsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AlertsDeleteCall) Context(ctx context.Context) *AlertsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5208,9 +5408,13 @@
 
 func (c *AlertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "alerts/{alertId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"alertId": c.alertId,
@@ -5259,15 +5463,14 @@
 // method id "adsense.alerts.list":
 
 type AlertsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the alerts for this AdSense account.
 func (r *AlertsService) List() *AlertsListCall {
-	c := &AlertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AlertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -5276,15 +5479,15 @@
 // is not supplied. The AdSense default (English) will be used if the
 // supplied locale is invalid or unsupported.
 func (c *AlertsListCall) Locale(locale string) *AlertsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AlertsListCall) Fields(s ...googleapi.Field) *AlertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5294,13 +5497,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AlertsListCall) IfNoneMatch(entityTag string) *AlertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AlertsListCall) Context(ctx context.Context) *AlertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5308,14 +5511,21 @@
 
 func (c *AlertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "alerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5387,24 +5597,23 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get the specified custom channel from the specified ad client.
 func (r *CustomchannelsService) Get(adClientId string, customChannelId string) *CustomchannelsGetCall {
-	c := &CustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsGetCall) Fields(s ...googleapi.Field) *CustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5414,13 +5623,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsGetCall) IfNoneMatch(entityTag string) *CustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsGetCall) Context(ctx context.Context) *CustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5428,17 +5637,21 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5518,17 +5731,16 @@
 // method id "adsense.customchannels.list":
 
 type CustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all custom channels in the specified ad client for this
 // AdSense account.
 func (r *CustomchannelsService) List(adClientId string) *CustomchannelsListCall {
-	c := &CustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -5537,7 +5749,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *CustomchannelsListCall) MaxResults(maxResults int64) *CustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5546,15 +5758,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *CustomchannelsListCall) PageToken(pageToken string) *CustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsListCall) Fields(s ...googleapi.Field) *CustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5564,13 +5776,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsListCall) IfNoneMatch(entityTag string) *CustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsListCall) Context(ctx context.Context) *CustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5578,16 +5790,26 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5676,14 +5898,13 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: List all ad units in the specified custom channel.
 func (r *CustomchannelsAdunitsService) List(adClientId string, customChannelId string) *CustomchannelsAdunitsListCall {
-	c := &CustomchannelsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
@@ -5692,14 +5913,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *CustomchannelsAdunitsListCall) IncludeInactive(includeInactive bool) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *CustomchannelsAdunitsListCall) MaxResults(maxResults int64) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5708,15 +5929,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *CustomchannelsAdunitsListCall) PageToken(pageToken string) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsAdunitsListCall) Fields(s ...googleapi.Field) *CustomchannelsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5726,13 +5947,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsAdunitsListCall) IfNoneMatch(entityTag string) *CustomchannelsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsAdunitsListCall) Context(ctx context.Context) *CustomchannelsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5740,17 +5961,30 @@
 
 func (c *CustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5848,24 +6082,23 @@
 // method id "adsense.metadata.dimensions.list":
 
 type MetadataDimensionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the metadata for the dimensions available to this AdSense
 // account.
 func (r *MetadataDimensionsService) List() *MetadataDimensionsListCall {
-	c := &MetadataDimensionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataDimensionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataDimensionsListCall) Fields(s ...googleapi.Field) *MetadataDimensionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5875,13 +6108,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataDimensionsListCall) IfNoneMatch(entityTag string) *MetadataDimensionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataDimensionsListCall) Context(ctx context.Context) *MetadataDimensionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5889,14 +6122,18 @@
 
 func (c *MetadataDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/dimensions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5958,24 +6195,23 @@
 // method id "adsense.metadata.metrics.list":
 
 type MetadataMetricsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the metadata for the metrics available to this AdSense
 // account.
 func (r *MetadataMetricsService) List() *MetadataMetricsListCall {
-	c := &MetadataMetricsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataMetricsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataMetricsListCall) Fields(s ...googleapi.Field) *MetadataMetricsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5985,13 +6221,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataMetricsListCall) IfNoneMatch(entityTag string) *MetadataMetricsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataMetricsListCall) Context(ctx context.Context) *MetadataMetricsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5999,14 +6235,18 @@
 
 func (c *MetadataMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/metrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6068,23 +6308,22 @@
 // method id "adsense.payments.list":
 
 type PaymentsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the payments for this AdSense account.
 func (r *PaymentsService) List() *PaymentsListCall {
-	c := &PaymentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PaymentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PaymentsListCall) Fields(s ...googleapi.Field) *PaymentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6094,13 +6333,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PaymentsListCall) IfNoneMatch(entityTag string) *PaymentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PaymentsListCall) Context(ctx context.Context) *PaymentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6108,14 +6347,18 @@
 
 func (c *PaymentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "payments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6177,26 +6420,27 @@
 // method id "adsense.reports.generate":
 
 type ReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *ReportsService) Generate(startDate string, endDate string) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // AccountId sets the optional parameter "accountId": Accounts upon
 // which to report.
-func (c *ReportsGenerateCall) AccountId(accountId []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("accountId", append([]string{}, accountId...))
+func (c *ReportsGenerateCall) AccountId(accountId string) *ReportsGenerateCall {
+	c.opt_["accountId"] = accountId
 	return c
 }
 
@@ -6204,21 +6448,21 @@
 // use when reporting on monetary metrics. Defaults to the account's
 // currency if not set.
 func (c *ReportsGenerateCall) Currency(currency string) *ReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *ReportsGenerateCall) Dimension(dimension []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *ReportsGenerateCall) Dimension(dimension string) *ReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *ReportsGenerateCall) Filter(filter []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *ReportsGenerateCall) Filter(filter string) *ReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -6226,21 +6470,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsGenerateCall) Locale(locale string) *ReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsGenerateCall) MaxResults(maxResults int64) *ReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *ReportsGenerateCall) Metric(metric []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *ReportsGenerateCall) Metric(metric string) *ReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -6248,15 +6492,15 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *ReportsGenerateCall) Sort(sort []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *ReportsGenerateCall) Sort(sort string) *ReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsGenerateCall) StartIndex(startIndex int64) *ReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
@@ -6265,15 +6509,15 @@
 // AdSense account's local timezone. If false default PST/PDT timezone
 // will be used.
 func (c *ReportsGenerateCall) UseTimezoneReporting(useTimezoneReporting bool) *ReportsGenerateCall {
-	c.urlParams_.Set("useTimezoneReporting", fmt.Sprintf("%v", useTimezoneReporting))
+	c.opt_["useTimezoneReporting"] = useTimezoneReporting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6283,13 +6527,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGenerateCall) IfNoneMatch(entityTag string) *ReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -6297,14 +6541,50 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["accountId"]; ok {
+		params.Set("accountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useTimezoneReporting"]; ok {
+		params.Set("useTimezoneReporting", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6471,15 +6751,14 @@
 type ReportsSavedGenerateCall struct {
 	s             *Service
 	savedReportId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generate an AdSense report based on the saved report ID
 // sent in the query parameters.
 func (r *ReportsSavedService) Generate(savedReportId string) *ReportsSavedGenerateCall {
-	c := &ReportsSavedGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedReportId = savedReportId
 	return c
 }
@@ -6488,29 +6767,29 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsSavedGenerateCall) Locale(locale string) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsSavedGenerateCall) MaxResults(maxResults int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsSavedGenerateCall) StartIndex(startIndex int64) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedGenerateCall) Fields(s ...googleapi.Field) *ReportsSavedGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6520,13 +6799,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedGenerateCall) IfNoneMatch(entityTag string) *ReportsSavedGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedGenerateCall) Context(ctx context.Context) *ReportsSavedGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -6534,16 +6813,29 @@
 
 func (c *ReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{savedReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedReportId": c.savedReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6638,22 +6930,21 @@
 // method id "adsense.reports.saved.list":
 
 type ReportsSavedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved reports in this AdSense account.
 func (r *ReportsSavedService) List() *ReportsSavedListCall {
-	c := &ReportsSavedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsSavedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of saved reports to include in the response, used for paging.
 func (c *ReportsSavedListCall) MaxResults(maxResults int64) *ReportsSavedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6662,15 +6953,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *ReportsSavedListCall) PageToken(pageToken string) *ReportsSavedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsSavedListCall) Fields(s ...googleapi.Field) *ReportsSavedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6680,13 +6971,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsSavedListCall) IfNoneMatch(entityTag string) *ReportsSavedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsSavedListCall) Context(ctx context.Context) *ReportsSavedListCall {
 	c.ctx_ = ctx
 	return c
@@ -6694,14 +6985,24 @@
 
 func (c *ReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/saved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6780,23 +7081,22 @@
 type SavedadstylesGetCall struct {
 	s              *Service
 	savedAdStyleId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Get a specific saved ad style from the user's account.
 func (r *SavedadstylesService) Get(savedAdStyleId string) *SavedadstylesGetCall {
-	c := &SavedadstylesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedadstylesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.savedAdStyleId = savedAdStyleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedadstylesGetCall) Fields(s ...googleapi.Field) *SavedadstylesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6806,13 +7106,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedadstylesGetCall) IfNoneMatch(entityTag string) *SavedadstylesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedadstylesGetCall) Context(ctx context.Context) *SavedadstylesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6820,16 +7120,20 @@
 
 func (c *SavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "savedadstyles/{savedAdStyleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"savedAdStyleId": c.savedAdStyleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6902,15 +7206,14 @@
 // method id "adsense.savedadstyles.list":
 
 type SavedadstylesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all saved ad styles in the user's account.
 func (r *SavedadstylesService) List() *SavedadstylesListCall {
-	c := &SavedadstylesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedadstylesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6918,7 +7221,7 @@
 // number of saved ad styles to include in the response, used for
 // paging.
 func (c *SavedadstylesListCall) MaxResults(maxResults int64) *SavedadstylesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6927,15 +7230,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *SavedadstylesListCall) PageToken(pageToken string) *SavedadstylesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedadstylesListCall) Fields(s ...googleapi.Field) *SavedadstylesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6945,13 +7248,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedadstylesListCall) IfNoneMatch(entityTag string) *SavedadstylesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedadstylesListCall) Context(ctx context.Context) *SavedadstylesListCall {
 	c.ctx_ = ctx
 	return c
@@ -6959,14 +7262,24 @@
 
 func (c *SavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "savedadstyles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7043,17 +7356,16 @@
 // method id "adsense.urlchannels.list":
 
 type UrlchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all URL channels in the specified ad client for this
 // AdSense account.
 func (r *UrlchannelsService) List(adClientId string) *UrlchannelsListCall {
-	c := &UrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -7061,7 +7373,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *UrlchannelsListCall) MaxResults(maxResults int64) *UrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7070,15 +7382,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *UrlchannelsListCall) PageToken(pageToken string) *UrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsListCall) Fields(s ...googleapi.Field) *UrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7088,13 +7400,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlchannelsListCall) IfNoneMatch(entityTag string) *UrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsListCall) Context(ctx context.Context) *UrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7102,16 +7414,26 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/adsensehost/v4.1/adsensehost-gen.go b/adsensehost/v4.1/adsensehost-gen.go
index 6196ad0..58ccb65 100644
--- a/adsensehost/v4.1/adsensehost-gen.go
+++ b/adsensehost/v4.1/adsensehost-gen.go
@@ -880,25 +880,24 @@
 // method id "adsensehost.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get information about the selected associated AdSense account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -908,13 +907,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -922,16 +921,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1003,25 +1006,25 @@
 // method id "adsensehost.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                *Service
+	filterAdClientId []string
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // List: List hosted accounts associated with this AdSense account by ad
 // client id.
 func (r *AccountsService) List(filterAdClientId []string) *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.SetMulti("filterAdClientId", append([]string{}, filterAdClientId...))
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.filterAdClientId = filterAdClientId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1031,13 +1034,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1045,14 +1048,21 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	for _, v := range c.filterAdClientId {
+		params.Add("filterAdClientId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1125,28 +1135,27 @@
 // method id "adsensehost.accounts.adclients.get":
 
 type AccountsAdclientsGetCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Get information about one of the ad clients in the specified
 // publisher's AdSense account.
 func (r *AccountsAdclientsService) Get(accountId string, adClientId string) *AccountsAdclientsGetCall {
-	c := &AccountsAdclientsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdclientsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdclientsGetCall) Fields(s ...googleapi.Field) *AccountsAdclientsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1156,13 +1165,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdclientsGetCall) IfNoneMatch(entityTag string) *AccountsAdclientsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdclientsGetCall) Context(ctx context.Context) *AccountsAdclientsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1170,17 +1179,21 @@
 
 func (c *AccountsAdclientsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1259,16 +1272,15 @@
 // method id "adsensehost.accounts.adclients.list":
 
 type AccountsAdclientsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all hosted ad clients in the specified hosted account.
 func (r *AccountsAdclientsService) List(accountId string) *AccountsAdclientsListCall {
-	c := &AccountsAdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1276,7 +1288,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AccountsAdclientsListCall) MaxResults(maxResults int64) *AccountsAdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1285,15 +1297,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdclientsListCall) PageToken(pageToken string) *AccountsAdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdclientsListCall) Fields(s ...googleapi.Field) *AccountsAdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1303,13 +1315,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdclientsListCall) IfNoneMatch(entityTag string) *AccountsAdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdclientsListCall) Context(ctx context.Context) *AccountsAdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1317,16 +1329,26 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1415,31 +1437,31 @@
 	accountId  string
 	adClientId string
 	adUnitId   string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Delete the specified ad unit from the specified publisher
 // AdSense account.
 func (r *AccountsAdunitsService) Delete(accountId string, adClientId string, adUnitId string) *AccountsAdunitsDeleteCall {
-	c := &AccountsAdunitsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsDeleteCall) Fields(s ...googleapi.Field) *AccountsAdunitsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsDeleteCall) Context(ctx context.Context) *AccountsAdunitsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1447,9 +1469,13 @@
 
 func (c *AccountsAdunitsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1541,29 +1567,28 @@
 // method id "adsensehost.accounts.adunits.get":
 
 type AccountsAdunitsGetCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Get the specified host ad unit in this AdSense account.
 func (r *AccountsAdunitsService) Get(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetCall {
-	c := &AccountsAdunitsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1573,13 +1598,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetCall) Context(ctx context.Context) *AccountsAdunitsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1587,9 +1612,13 @@
 
 func (c *AccountsAdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1597,8 +1626,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1684,19 +1713,18 @@
 // method id "adsensehost.accounts.adunits.getAdCode":
 
 type AccountsAdunitsGetAdCodeCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	adUnitId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	adUnitId   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetAdCode: Get ad code for the specified ad unit, attaching the
 // specified host custom channels.
 func (r *AccountsAdunitsService) GetAdCode(accountId string, adClientId string, adUnitId string) *AccountsAdunitsGetAdCodeCall {
-	c := &AccountsAdunitsGetAdCodeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsGetAdCodeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adUnitId = adUnitId
@@ -1705,16 +1733,16 @@
 
 // HostCustomChannelId sets the optional parameter
 // "hostCustomChannelId": Host custom channel to attach to the ad code.
-func (c *AccountsAdunitsGetAdCodeCall) HostCustomChannelId(hostCustomChannelId []string) *AccountsAdunitsGetAdCodeCall {
-	c.urlParams_.SetMulti("hostCustomChannelId", append([]string{}, hostCustomChannelId...))
+func (c *AccountsAdunitsGetAdCodeCall) HostCustomChannelId(hostCustomChannelId string) *AccountsAdunitsGetAdCodeCall {
+	c.opt_["hostCustomChannelId"] = hostCustomChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsGetAdCodeCall) Fields(s ...googleapi.Field) *AccountsAdunitsGetAdCodeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1724,13 +1752,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsGetAdCodeCall) IfNoneMatch(entityTag string) *AccountsAdunitsGetAdCodeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsGetAdCodeCall) Context(ctx context.Context) *AccountsAdunitsGetAdCodeCall {
 	c.ctx_ = ctx
 	return c
@@ -1738,9 +1766,16 @@
 
 func (c *AccountsAdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["hostCustomChannelId"]; ok {
+		params.Set("hostCustomChannelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1748,8 +1783,8 @@
 		"adUnitId":   c.adUnitId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1845,31 +1880,31 @@
 	accountId  string
 	adClientId string
 	adunit     *AdUnit
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Insert the supplied ad unit into the specified publisher
 // AdSense account.
 func (r *AccountsAdunitsService) Insert(accountId string, adClientId string, adunit *AdUnit) *AccountsAdunitsInsertCall {
-	c := &AccountsAdunitsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adunit = adunit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsInsertCall) Fields(s ...googleapi.Field) *AccountsAdunitsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsInsertCall) Context(ctx context.Context) *AccountsAdunitsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1882,9 +1917,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -1972,17 +2011,16 @@
 // method id "adsensehost.accounts.adunits.list":
 
 type AccountsAdunitsListCall struct {
-	s            *Service
-	accountId    string
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	accountId  string
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all ad units in the specified publisher's AdSense account.
 func (r *AccountsAdunitsService) List(accountId string, adClientId string) *AccountsAdunitsListCall {
-	c := &AccountsAdunitsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	return c
@@ -1991,14 +2029,14 @@
 // IncludeInactive sets the optional parameter "includeInactive":
 // Whether to include inactive ad units. Default: true.
 func (c *AccountsAdunitsListCall) IncludeInactive(includeInactive bool) *AccountsAdunitsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad units to include in the response, used for paging.
 func (c *AccountsAdunitsListCall) MaxResults(maxResults int64) *AccountsAdunitsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2007,15 +2045,15 @@
 // this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AccountsAdunitsListCall) PageToken(pageToken string) *AccountsAdunitsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsListCall) Fields(s ...googleapi.Field) *AccountsAdunitsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2025,13 +2063,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAdunitsListCall) IfNoneMatch(entityTag string) *AccountsAdunitsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsListCall) Context(ctx context.Context) *AccountsAdunitsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2039,17 +2077,30 @@
 
 func (c *AccountsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2149,33 +2200,34 @@
 	s          *Service
 	accountId  string
 	adClientId string
+	adUnitId   string
 	adunit     *AdUnit
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Update the supplied ad unit in the specified publisher AdSense
 // account. This method supports patch semantics.
 func (r *AccountsAdunitsService) Patch(accountId string, adClientId string, adUnitId string, adunit *AdUnit) *AccountsAdunitsPatchCall {
-	c := &AccountsAdunitsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
-	c.urlParams_.Set("adUnitId", adUnitId)
+	c.adUnitId = adUnitId
 	c.adunit = adunit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsPatchCall) Fields(s ...googleapi.Field) *AccountsAdunitsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsPatchCall) Context(ctx context.Context) *AccountsAdunitsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2188,9 +2240,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("adUnitId", fmt.Sprintf("%v", c.adUnitId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -2289,31 +2346,31 @@
 	accountId  string
 	adClientId string
 	adunit     *AdUnit
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Update the supplied ad unit in the specified publisher
 // AdSense account.
 func (r *AccountsAdunitsService) Update(accountId string, adClientId string, adunit *AdUnit) *AccountsAdunitsUpdateCall {
-	c := &AccountsAdunitsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAdunitsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.adClientId = adClientId
 	c.adunit = adunit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAdunitsUpdateCall) Fields(s ...googleapi.Field) *AccountsAdunitsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAdunitsUpdateCall) Context(ctx context.Context) *AccountsAdunitsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2326,9 +2383,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/adclients/{adClientId}/adunits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":  c.accountId,
@@ -2416,35 +2477,36 @@
 // method id "adsensehost.accounts.reports.generate":
 
 type AccountsReportsGenerateCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *AccountsReportsService) Generate(accountId string, startDate string, endDate string) *AccountsReportsGenerateCall {
-	c := &AccountsReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *AccountsReportsGenerateCall) Dimension(dimension []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *AccountsReportsGenerateCall) Dimension(dimension string) *AccountsReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *AccountsReportsGenerateCall) Filter(filter []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *AccountsReportsGenerateCall) Filter(filter string) *AccountsReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -2452,21 +2514,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *AccountsReportsGenerateCall) Locale(locale string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *AccountsReportsGenerateCall) MaxResults(maxResults int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *AccountsReportsGenerateCall) Metric(metric []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *AccountsReportsGenerateCall) Metric(metric string) *AccountsReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -2474,23 +2536,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *AccountsReportsGenerateCall) Sort(sort []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *AccountsReportsGenerateCall) Sort(sort string) *AccountsReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *AccountsReportsGenerateCall) StartIndex(startIndex int64) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsReportsGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2500,13 +2562,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsReportsGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsReportsGenerateCall) Context(ctx context.Context) *AccountsReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -2514,16 +2576,43 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2661,26 +2750,25 @@
 // method id "adsensehost.adclients.get":
 
 type AdclientsGetCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Get information about one of the ad clients in the Host AdSense
 // account.
 func (r *AdclientsService) Get(adClientId string) *AdclientsGetCall {
-	c := &AdclientsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsGetCall) Fields(s ...googleapi.Field) *AdclientsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2690,13 +2778,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsGetCall) IfNoneMatch(entityTag string) *AdclientsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsGetCall) Context(ctx context.Context) *AdclientsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2704,16 +2792,20 @@
 
 func (c *AdclientsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2785,22 +2877,21 @@
 // method id "adsensehost.adclients.list":
 
 type AdclientsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all host ad clients in this AdSense account.
 func (r *AdclientsService) List() *AdclientsListCall {
-	c := &AdclientsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdclientsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of ad clients to include in the response, used for paging.
 func (c *AdclientsListCall) MaxResults(maxResults int64) *AdclientsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2809,15 +2900,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *AdclientsListCall) PageToken(pageToken string) *AdclientsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdclientsListCall) Fields(s ...googleapi.Field) *AdclientsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2827,13 +2918,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdclientsListCall) IfNoneMatch(entityTag string) *AdclientsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdclientsListCall) Context(ctx context.Context) *AdclientsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2841,14 +2932,24 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2924,40 +3025,41 @@
 // method id "adsensehost.associationsessions.start":
 
 type AssociationsessionsStartCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	productCode []string
+	websiteUrl  string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Start: Create an association session for initiating an association
 // with an AdSense user.
 func (r *AssociationsessionsService) Start(productCode []string, websiteUrl string) *AssociationsessionsStartCall {
-	c := &AssociationsessionsStartCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.SetMulti("productCode", append([]string{}, productCode...))
-	c.urlParams_.Set("websiteUrl", websiteUrl)
+	c := &AssociationsessionsStartCall{s: r.s, opt_: make(map[string]interface{})}
+	c.productCode = productCode
+	c.websiteUrl = websiteUrl
 	return c
 }
 
 // UserLocale sets the optional parameter "userLocale": The preferred
 // locale of the user.
 func (c *AssociationsessionsStartCall) UserLocale(userLocale string) *AssociationsessionsStartCall {
-	c.urlParams_.Set("userLocale", userLocale)
+	c.opt_["userLocale"] = userLocale
 	return c
 }
 
 // WebsiteLocale sets the optional parameter "websiteLocale": The locale
 // of the user's hosted website.
 func (c *AssociationsessionsStartCall) WebsiteLocale(websiteLocale string) *AssociationsessionsStartCall {
-	c.urlParams_.Set("websiteLocale", websiteLocale)
+	c.opt_["websiteLocale"] = websiteLocale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssociationsessionsStartCall) Fields(s ...googleapi.Field) *AssociationsessionsStartCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2967,13 +3069,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssociationsessionsStartCall) IfNoneMatch(entityTag string) *AssociationsessionsStartCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssociationsessionsStartCall) Context(ctx context.Context) *AssociationsessionsStartCall {
 	c.ctx_ = ctx
 	return c
@@ -2981,14 +3083,28 @@
 
 func (c *AssociationsessionsStartCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("websiteUrl", fmt.Sprintf("%v", c.websiteUrl))
+	for _, v := range c.productCode {
+		params.Add("productCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userLocale"]; ok {
+		params.Set("userLocale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["websiteLocale"]; ok {
+		params.Set("websiteLocale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "associationsessions/start")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3092,25 +3208,25 @@
 // method id "adsensehost.associationsessions.verify":
 
 type AssociationsessionsVerifyCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	token string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Verify: Verify an association session after the association callback
 // returns from AdSense signup.
 func (r *AssociationsessionsService) Verify(token string) *AssociationsessionsVerifyCall {
-	c := &AssociationsessionsVerifyCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("token", token)
+	c := &AssociationsessionsVerifyCall{s: r.s, opt_: make(map[string]interface{})}
+	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssociationsessionsVerifyCall) Fields(s ...googleapi.Field) *AssociationsessionsVerifyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3120,13 +3236,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssociationsessionsVerifyCall) IfNoneMatch(entityTag string) *AssociationsessionsVerifyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssociationsessionsVerifyCall) Context(ctx context.Context) *AssociationsessionsVerifyCall {
 	c.ctx_ = ctx
 	return c
@@ -3134,14 +3250,19 @@
 
 func (c *AssociationsessionsVerifyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("token", fmt.Sprintf("%v", c.token))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "associationsessions/verify")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3216,30 +3337,30 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Delete a specific custom channel from the host AdSense
 // account.
 func (r *CustomchannelsService) Delete(adClientId string, customChannelId string) *CustomchannelsDeleteCall {
-	c := &CustomchannelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsDeleteCall) Fields(s ...googleapi.Field) *CustomchannelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsDeleteCall) Context(ctx context.Context) *CustomchannelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3247,9 +3368,13 @@
 
 func (c *CustomchannelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
@@ -3336,24 +3461,23 @@
 	s               *Service
 	adClientId      string
 	customChannelId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Get a specific custom channel from the host AdSense account.
 func (r *CustomchannelsService) Get(adClientId string, customChannelId string) *CustomchannelsGetCall {
-	c := &CustomchannelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customChannelId = customChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsGetCall) Fields(s ...googleapi.Field) *CustomchannelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3363,13 +3487,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsGetCall) IfNoneMatch(entityTag string) *CustomchannelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsGetCall) Context(ctx context.Context) *CustomchannelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3377,17 +3501,21 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels/{customChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":      c.adClientId,
 		"customChannelId": c.customChannelId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3469,29 +3597,29 @@
 	s             *Service
 	adClientId    string
 	customchannel *CustomChannel
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Add a new custom channel to the host AdSense account.
 func (r *CustomchannelsService) Insert(adClientId string, customchannel *CustomChannel) *CustomchannelsInsertCall {
-	c := &CustomchannelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customchannel = customchannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsInsertCall) Fields(s ...googleapi.Field) *CustomchannelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsInsertCall) Context(ctx context.Context) *CustomchannelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3504,9 +3632,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
@@ -3586,16 +3718,15 @@
 // method id "adsensehost.customchannels.list":
 
 type CustomchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all host custom channels in this AdSense account.
 func (r *CustomchannelsService) List(adClientId string) *CustomchannelsListCall {
-	c := &CustomchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -3604,7 +3735,7 @@
 // number of custom channels to include in the response, used for
 // paging.
 func (c *CustomchannelsListCall) MaxResults(maxResults int64) *CustomchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3613,15 +3744,15 @@
 // page, set this parameter to the value of "nextPageToken" from the
 // previous response.
 func (c *CustomchannelsListCall) PageToken(pageToken string) *CustomchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsListCall) Fields(s ...googleapi.Field) *CustomchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3631,13 +3762,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomchannelsListCall) IfNoneMatch(entityTag string) *CustomchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsListCall) Context(ctx context.Context) *CustomchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3645,16 +3776,26 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3739,34 +3880,35 @@
 // method id "adsensehost.customchannels.patch":
 
 type CustomchannelsPatchCall struct {
-	s             *Service
-	adClientId    string
-	customchannel *CustomChannel
-	urlParams_    internal.URLParams
-	ctx_          context.Context
+	s               *Service
+	adClientId      string
+	customChannelId string
+	customchannel   *CustomChannel
+	opt_            map[string]interface{}
+	ctx_            context.Context
 }
 
 // Patch: Update a custom channel in the host AdSense account. This
 // method supports patch semantics.
 func (r *CustomchannelsService) Patch(adClientId string, customChannelId string, customchannel *CustomChannel) *CustomchannelsPatchCall {
-	c := &CustomchannelsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
-	c.urlParams_.Set("customChannelId", customChannelId)
+	c.customChannelId = customChannelId
 	c.customchannel = customchannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsPatchCall) Fields(s ...googleapi.Field) *CustomchannelsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsPatchCall) Context(ctx context.Context) *CustomchannelsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3779,9 +3921,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("customChannelId", fmt.Sprintf("%v", c.customChannelId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
@@ -3871,29 +4018,29 @@
 	s             *Service
 	adClientId    string
 	customchannel *CustomChannel
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Update a custom channel in the host AdSense account.
 func (r *CustomchannelsService) Update(adClientId string, customchannel *CustomChannel) *CustomchannelsUpdateCall {
-	c := &CustomchannelsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomchannelsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.customchannel = customchannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomchannelsUpdateCall) Fields(s ...googleapi.Field) *CustomchannelsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomchannelsUpdateCall) Context(ctx context.Context) *CustomchannelsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3906,9 +4053,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/customchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
@@ -3988,33 +4139,34 @@
 // method id "adsensehost.reports.generate":
 
 type ReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	startDate string
+	endDate   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generate: Generate an AdSense report based on the report request sent
 // in the query parameters. Returns the result as JSON; to retrieve
 // output in CSV format specify "alt=csv" as a query parameter.
 func (r *ReportsService) Generate(startDate string, endDate string) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.startDate = startDate
+	c.endDate = endDate
 	return c
 }
 
 // Dimension sets the optional parameter "dimension": Dimensions to base
 // the report on.
-func (c *ReportsGenerateCall) Dimension(dimension []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
+func (c *ReportsGenerateCall) Dimension(dimension string) *ReportsGenerateCall {
+	c.opt_["dimension"] = dimension
 	return c
 }
 
 // Filter sets the optional parameter "filter": Filters to be run on the
 // report.
-func (c *ReportsGenerateCall) Filter(filter []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *ReportsGenerateCall) Filter(filter string) *ReportsGenerateCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -4022,21 +4174,21 @@
 // for translating report output to a local language. Defaults to
 // "en_US" if not specified.
 func (c *ReportsGenerateCall) Locale(locale string) *ReportsGenerateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of rows of report data to return.
 func (c *ReportsGenerateCall) MaxResults(maxResults int64) *ReportsGenerateCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Metric sets the optional parameter "metric": Numeric columns to
 // include in the report.
-func (c *ReportsGenerateCall) Metric(metric []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("metric", append([]string{}, metric...))
+func (c *ReportsGenerateCall) Metric(metric string) *ReportsGenerateCall {
+	c.opt_["metric"] = metric
 	return c
 }
 
@@ -4044,23 +4196,23 @@
 // metric to sort the resulting report on, optionally prefixed with "+"
 // to sort ascending or "-" to sort descending. If no prefix is
 // specified, the column is sorted ascending.
-func (c *ReportsGenerateCall) Sort(sort []string) *ReportsGenerateCall {
-	c.urlParams_.SetMulti("sort", append([]string{}, sort...))
+func (c *ReportsGenerateCall) Sort(sort string) *ReportsGenerateCall {
+	c.opt_["sort"] = sort
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first row of report data to return.
 func (c *ReportsGenerateCall) StartIndex(startIndex int64) *ReportsGenerateCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4070,13 +4222,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGenerateCall) IfNoneMatch(entityTag string) *ReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -4084,14 +4236,41 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimension"]; ok {
+		params.Set("dimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metric"]; ok {
+		params.Set("metric", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4225,29 +4404,29 @@
 	s            *Service
 	adClientId   string
 	urlChannelId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Delete a URL channel from the host AdSense account.
 func (r *UrlchannelsService) Delete(adClientId string, urlChannelId string) *UrlchannelsDeleteCall {
-	c := &UrlchannelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.urlChannelId = urlChannelId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsDeleteCall) Fields(s ...googleapi.Field) *UrlchannelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsDeleteCall) Context(ctx context.Context) *UrlchannelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4255,9 +4434,13 @@
 
 func (c *UrlchannelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels/{urlChannelId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId":   c.adClientId,
@@ -4344,29 +4527,29 @@
 	s          *Service
 	adClientId string
 	urlchannel *UrlChannel
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Add a new URL channel to the host AdSense account.
 func (r *UrlchannelsService) Insert(adClientId string, urlchannel *UrlChannel) *UrlchannelsInsertCall {
-	c := &UrlchannelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	c.urlchannel = urlchannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsInsertCall) Fields(s ...googleapi.Field) *UrlchannelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsInsertCall) Context(ctx context.Context) *UrlchannelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4379,9 +4562,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
@@ -4461,16 +4648,15 @@
 // method id "adsensehost.urlchannels.list":
 
 type UrlchannelsListCall struct {
-	s            *Service
-	adClientId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	adClientId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all host URL channels in the host AdSense account.
 func (r *UrlchannelsService) List(adClientId string) *UrlchannelsListCall {
-	c := &UrlchannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlchannelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.adClientId = adClientId
 	return c
 }
@@ -4478,7 +4664,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of URL channels to include in the response, used for paging.
 func (c *UrlchannelsListCall) MaxResults(maxResults int64) *UrlchannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4487,15 +4673,15 @@
 // set this parameter to the value of "nextPageToken" from the previous
 // response.
 func (c *UrlchannelsListCall) PageToken(pageToken string) *UrlchannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlchannelsListCall) Fields(s ...googleapi.Field) *UrlchannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4505,13 +4691,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlchannelsListCall) IfNoneMatch(entityTag string) *UrlchannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlchannelsListCall) Context(ctx context.Context) *UrlchannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4519,16 +4705,26 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "adclients/{adClientId}/urlchannels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"adClientId": c.adClientId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/analytics/v2.4/analytics-gen.go b/analytics/v2.4/analytics-gen.go
index d186775..ef78a4a 100644
--- a/analytics/v2.4/analytics-gen.go
+++ b/analytics/v2.4/analytics-gen.go
@@ -160,19 +160,22 @@
 // method id "analytics.data.get":
 
 type DataGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	ids       string
+	startDate string
+	endDate   string
+	metrics   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns Analytics report data for a view (profile).
 func (r *DataService) Get(ids string, startDate string, endDate string, metrics string) *DataGetCall {
-	c := &DataGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("ids", ids)
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
-	c.urlParams_.Set("metrics", metrics)
+	c := &DataGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.ids = ids
+	c.startDate = startDate
+	c.endDate = endDate
+	c.metrics = metrics
 	return c
 }
 
@@ -180,28 +183,28 @@
 // comma-separated list of Analytics dimensions. E.g.,
 // 'ga:browser,ga:city'.
 func (c *DataGetCall) Dimensions(dimensions string) *DataGetCall {
-	c.urlParams_.Set("dimensions", dimensions)
+	c.opt_["dimensions"] = dimensions
 	return c
 }
 
 // Filters sets the optional parameter "filters": A comma-separated list
 // of dimension or metric filters to be applied to the report data.
 func (c *DataGetCall) Filters(filters string) *DataGetCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of entries to include in this feed.
 func (c *DataGetCall) MaxResults(maxResults int64) *DataGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
 // Segment sets the optional parameter "segment": An Analytics advanced
 // segment to be applied to the report data.
 func (c *DataGetCall) Segment(segment string) *DataGetCall {
-	c.urlParams_.Set("segment", segment)
+	c.opt_["segment"] = segment
 	return c
 }
 
@@ -209,7 +212,7 @@
 // dimensions or metrics that determine the sort order for the report
 // data.
 func (c *DataGetCall) Sort(sort string) *DataGetCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
@@ -217,15 +220,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *DataGetCall) StartIndex(startIndex int64) *DataGetCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DataGetCall) Fields(s ...googleapi.Field) *DataGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -235,13 +238,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DataGetCall) IfNoneMatch(entityTag string) *DataGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DataGetCall) Context(ctx context.Context) *DataGetCall {
 	c.ctx_ = ctx
 	return c
@@ -249,14 +252,40 @@
 
 func (c *DataGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("end-date", fmt.Sprintf("%v", c.endDate))
+	params.Set("ids", fmt.Sprintf("%v", c.ids))
+	params.Set("metrics", fmt.Sprintf("%v", c.metrics))
+	params.Set("start-date", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimensions"]; ok {
+		params.Set("dimensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["segment"]; ok {
+		params.Set("segment", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "data")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -363,22 +392,21 @@
 // method id "analytics.management.accounts.list":
 
 type ManagementAccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all accounts to which the user has access.
 func (r *ManagementAccountsService) List() *ManagementAccountsListCall {
-	c := &ManagementAccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of accounts to include in this response.
 func (c *ManagementAccountsListCall) MaxResults(maxResults int64) *ManagementAccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -386,15 +414,15 @@
 // first account to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementAccountsListCall) StartIndex(startIndex int64) *ManagementAccountsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountsListCall) Fields(s ...googleapi.Field) *ManagementAccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -404,13 +432,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementAccountsListCall) IfNoneMatch(entityTag string) *ManagementAccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountsListCall) Context(ctx context.Context) *ManagementAccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -418,14 +446,24 @@
 
 func (c *ManagementAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -479,14 +517,13 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists goals to which the user has access.
 func (r *ManagementGoalsService) List(accountId string, webPropertyId string, profileId string) *ManagementGoalsListCall {
-	c := &ManagementGoalsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementGoalsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -496,7 +533,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of goals to include in this response.
 func (c *ManagementGoalsListCall) MaxResults(maxResults int64) *ManagementGoalsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -504,15 +541,15 @@
 // first goal to retrieve. Use this parameter as a pagination mechanism
 // along with the max-results parameter.
 func (c *ManagementGoalsListCall) StartIndex(startIndex int64) *ManagementGoalsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementGoalsListCall) Fields(s ...googleapi.Field) *ManagementGoalsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -522,13 +559,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementGoalsListCall) IfNoneMatch(entityTag string) *ManagementGoalsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementGoalsListCall) Context(ctx context.Context) *ManagementGoalsListCall {
 	c.ctx_ = ctx
 	return c
@@ -536,9 +573,19 @@
 
 func (c *ManagementGoalsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -546,8 +593,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -623,14 +670,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists views (profiles) to which the user has access.
 func (r *ManagementProfilesService) List(accountId string, webPropertyId string) *ManagementProfilesListCall {
-	c := &ManagementProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -639,7 +685,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of views (profiles) to include in this response.
 func (c *ManagementProfilesListCall) MaxResults(maxResults int64) *ManagementProfilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -647,15 +693,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementProfilesListCall) StartIndex(startIndex int64) *ManagementProfilesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesListCall) Fields(s ...googleapi.Field) *ManagementProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -665,13 +711,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementProfilesListCall) IfNoneMatch(entityTag string) *ManagementProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesListCall) Context(ctx context.Context) *ManagementProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -679,17 +725,27 @@
 
 func (c *ManagementProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -755,22 +811,21 @@
 // method id "analytics.management.segments.list":
 
 type ManagementSegmentsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists advanced segments to which the user has access.
 func (r *ManagementSegmentsService) List() *ManagementSegmentsListCall {
-	c := &ManagementSegmentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementSegmentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of advanced segments to include in this response.
 func (c *ManagementSegmentsListCall) MaxResults(maxResults int64) *ManagementSegmentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -778,15 +833,15 @@
 // first advanced segment to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementSegmentsListCall) StartIndex(startIndex int64) *ManagementSegmentsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementSegmentsListCall) Fields(s ...googleapi.Field) *ManagementSegmentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -796,13 +851,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementSegmentsListCall) IfNoneMatch(entityTag string) *ManagementSegmentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementSegmentsListCall) Context(ctx context.Context) *ManagementSegmentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -810,14 +865,24 @@
 
 func (c *ManagementSegmentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/segments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -867,16 +932,15 @@
 // method id "analytics.management.webproperties.list":
 
 type ManagementWebpropertiesListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists web properties to which the user has access.
 func (r *ManagementWebpropertiesService) List(accountId string) *ManagementWebpropertiesListCall {
-	c := &ManagementWebpropertiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -884,7 +948,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of web properties to include in this response.
 func (c *ManagementWebpropertiesListCall) MaxResults(maxResults int64) *ManagementWebpropertiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -892,15 +956,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementWebpropertiesListCall) StartIndex(startIndex int64) *ManagementWebpropertiesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertiesListCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -910,13 +974,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementWebpropertiesListCall) IfNoneMatch(entityTag string) *ManagementWebpropertiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertiesListCall) Context(ctx context.Context) *ManagementWebpropertiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -924,16 +988,26 @@
 
 func (c *ManagementWebpropertiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/analytics/v3/analytics-gen.go b/analytics/v3/analytics-gen.go
index 390bc4b..d46dfb9 100644
--- a/analytics/v3/analytics-gen.go
+++ b/analytics/v3/analytics-gen.go
@@ -4326,19 +4326,22 @@
 // method id "analytics.data.ga.get":
 
 type DataGaGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	ids       string
+	startDate string
+	endDate   string
+	metrics   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns Analytics data for a view (profile).
 func (r *DataGaService) Get(ids string, startDate string, endDate string, metrics string) *DataGaGetCall {
-	c := &DataGaGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("ids", ids)
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
-	c.urlParams_.Set("metrics", metrics)
+	c := &DataGaGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.ids = ids
+	c.startDate = startDate
+	c.endDate = endDate
+	c.metrics = metrics
 	return c
 }
 
@@ -4346,21 +4349,21 @@
 // comma-separated list of Analytics dimensions. E.g.,
 // 'ga:browser,ga:city'.
 func (c *DataGaGetCall) Dimensions(dimensions string) *DataGaGetCall {
-	c.urlParams_.Set("dimensions", dimensions)
+	c.opt_["dimensions"] = dimensions
 	return c
 }
 
 // Filters sets the optional parameter "filters": A comma-separated list
 // of dimension or metric filters to be applied to Analytics data.
 func (c *DataGaGetCall) Filters(filters string) *DataGaGetCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of entries to include in this feed.
 func (c *DataGaGetCall) MaxResults(maxResults int64) *DataGaGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -4372,7 +4375,7 @@
 // format. This is useful in creating visualization using Google Charts.
 //   "json" - Returns the response in standard JSON format.
 func (c *DataGaGetCall) Output(output string) *DataGaGetCall {
-	c.urlParams_.Set("output", output)
+	c.opt_["output"] = output
 	return c
 }
 
@@ -4386,14 +4389,14 @@
 //   "HIGHER_PRECISION" - Returns a more accurate response using a large
 // sample size, but this may result in the response being slower.
 func (c *DataGaGetCall) SamplingLevel(samplingLevel string) *DataGaGetCall {
-	c.urlParams_.Set("samplingLevel", samplingLevel)
+	c.opt_["samplingLevel"] = samplingLevel
 	return c
 }
 
 // Segment sets the optional parameter "segment": An Analytics segment
 // to be applied to data.
 func (c *DataGaGetCall) Segment(segment string) *DataGaGetCall {
-	c.urlParams_.Set("segment", segment)
+	c.opt_["segment"] = segment
 	return c
 }
 
@@ -4401,7 +4404,7 @@
 // dimensions or metrics that determine the sort order for Analytics
 // data.
 func (c *DataGaGetCall) Sort(sort string) *DataGaGetCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
@@ -4409,15 +4412,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *DataGaGetCall) StartIndex(startIndex int64) *DataGaGetCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DataGaGetCall) Fields(s ...googleapi.Field) *DataGaGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4427,13 +4430,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DataGaGetCall) IfNoneMatch(entityTag string) *DataGaGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DataGaGetCall) Context(ctx context.Context) *DataGaGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4441,14 +4444,46 @@
 
 func (c *DataGaGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("end-date", fmt.Sprintf("%v", c.endDate))
+	params.Set("ids", fmt.Sprintf("%v", c.ids))
+	params.Set("metrics", fmt.Sprintf("%v", c.metrics))
+	params.Set("start-date", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimensions"]; ok {
+		params.Set("dimensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["output"]; ok {
+		params.Set("output", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["samplingLevel"]; ok {
+		params.Set("samplingLevel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["segment"]; ok {
+		params.Set("segment", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "data/ga")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4610,20 +4645,23 @@
 // method id "analytics.data.mcf.get":
 
 type DataMcfGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	ids       string
+	startDate string
+	endDate   string
+	metrics   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns Analytics Multi-Channel Funnels data for a view
 // (profile).
 func (r *DataMcfService) Get(ids string, startDate string, endDate string, metrics string) *DataMcfGetCall {
-	c := &DataMcfGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("ids", ids)
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
-	c.urlParams_.Set("metrics", metrics)
+	c := &DataMcfGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.ids = ids
+	c.startDate = startDate
+	c.endDate = endDate
+	c.metrics = metrics
 	return c
 }
 
@@ -4631,21 +4669,21 @@
 // comma-separated list of Multi-Channel Funnels dimensions. E.g.,
 // 'mcf:source,mcf:medium'.
 func (c *DataMcfGetCall) Dimensions(dimensions string) *DataMcfGetCall {
-	c.urlParams_.Set("dimensions", dimensions)
+	c.opt_["dimensions"] = dimensions
 	return c
 }
 
 // Filters sets the optional parameter "filters": A comma-separated list
 // of dimension or metric filters to be applied to the Analytics data.
 func (c *DataMcfGetCall) Filters(filters string) *DataMcfGetCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of entries to include in this feed.
 func (c *DataMcfGetCall) MaxResults(maxResults int64) *DataMcfGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -4659,7 +4697,7 @@
 //   "HIGHER_PRECISION" - Returns a more accurate response using a large
 // sample size, but this may result in the response being slower.
 func (c *DataMcfGetCall) SamplingLevel(samplingLevel string) *DataMcfGetCall {
-	c.urlParams_.Set("samplingLevel", samplingLevel)
+	c.opt_["samplingLevel"] = samplingLevel
 	return c
 }
 
@@ -4667,7 +4705,7 @@
 // dimensions or metrics that determine the sort order for the Analytics
 // data.
 func (c *DataMcfGetCall) Sort(sort string) *DataMcfGetCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
@@ -4675,15 +4713,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *DataMcfGetCall) StartIndex(startIndex int64) *DataMcfGetCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DataMcfGetCall) Fields(s ...googleapi.Field) *DataMcfGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4693,13 +4731,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DataMcfGetCall) IfNoneMatch(entityTag string) *DataMcfGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DataMcfGetCall) Context(ctx context.Context) *DataMcfGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4707,14 +4745,40 @@
 
 func (c *DataMcfGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("end-date", fmt.Sprintf("%v", c.endDate))
+	params.Set("ids", fmt.Sprintf("%v", c.ids))
+	params.Set("metrics", fmt.Sprintf("%v", c.metrics))
+	params.Set("start-date", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["dimensions"]; ok {
+		params.Set("dimensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["samplingLevel"]; ok {
+		params.Set("samplingLevel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "data/mcf")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4858,17 +4922,18 @@
 // method id "analytics.data.realtime.get":
 
 type DataRealtimeGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	ids     string
+	metrics string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns real time data for a view (profile).
 func (r *DataRealtimeService) Get(ids string, metrics string) *DataRealtimeGetCall {
-	c := &DataRealtimeGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("ids", ids)
-	c.urlParams_.Set("metrics", metrics)
+	c := &DataRealtimeGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.ids = ids
+	c.metrics = metrics
 	return c
 }
 
@@ -4876,21 +4941,21 @@
 // comma-separated list of real time dimensions. E.g.,
 // 'rt:medium,rt:city'.
 func (c *DataRealtimeGetCall) Dimensions(dimensions string) *DataRealtimeGetCall {
-	c.urlParams_.Set("dimensions", dimensions)
+	c.opt_["dimensions"] = dimensions
 	return c
 }
 
 // Filters sets the optional parameter "filters": A comma-separated list
 // of dimension or metric filters to be applied to real time data.
 func (c *DataRealtimeGetCall) Filters(filters string) *DataRealtimeGetCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of entries to include in this feed.
 func (c *DataRealtimeGetCall) MaxResults(maxResults int64) *DataRealtimeGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -4898,15 +4963,15 @@
 // dimensions or metrics that determine the sort order for real time
 // data.
 func (c *DataRealtimeGetCall) Sort(sort string) *DataRealtimeGetCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DataRealtimeGetCall) Fields(s ...googleapi.Field) *DataRealtimeGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4916,13 +4981,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DataRealtimeGetCall) IfNoneMatch(entityTag string) *DataRealtimeGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DataRealtimeGetCall) Context(ctx context.Context) *DataRealtimeGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4930,14 +4995,32 @@
 
 func (c *DataRealtimeGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("ids", fmt.Sprintf("%v", c.ids))
+	params.Set("metrics", fmt.Sprintf("%v", c.metrics))
+	if v, ok := c.opt_["dimensions"]; ok {
+		params.Set("dimensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "data/realtime")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5043,16 +5126,15 @@
 // method id "analytics.management.accountSummaries.list":
 
 type ManagementAccountSummariesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists account summaries (lightweight tree comprised of
 // accounts/properties/profiles) to which the user has access.
 func (r *ManagementAccountSummariesService) List() *ManagementAccountSummariesListCall {
-	c := &ManagementAccountSummariesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountSummariesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -5060,7 +5142,7 @@
 // number of account summaries to include in this response, where the
 // largest acceptable value is 1000.
 func (c *ManagementAccountSummariesListCall) MaxResults(maxResults int64) *ManagementAccountSummariesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -5068,15 +5150,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementAccountSummariesListCall) StartIndex(startIndex int64) *ManagementAccountSummariesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountSummariesListCall) Fields(s ...googleapi.Field) *ManagementAccountSummariesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5086,13 +5168,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementAccountSummariesListCall) IfNoneMatch(entityTag string) *ManagementAccountSummariesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountSummariesListCall) Context(ctx context.Context) *ManagementAccountSummariesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5100,14 +5182,24 @@
 
 func (c *ManagementAccountSummariesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accountSummaries")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5184,32 +5276,32 @@
 // method id "analytics.management.accountUserLinks.delete":
 
 type ManagementAccountUserLinksDeleteCall struct {
-	s          *Service
-	accountId  string
-	linkId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	linkId    string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Removes a user from the given account.
 func (r *ManagementAccountUserLinksService) Delete(accountId string, linkId string) *ManagementAccountUserLinksDeleteCall {
-	c := &ManagementAccountUserLinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountUserLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.linkId = linkId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountUserLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountUserLinksDeleteCall) Context(ctx context.Context) *ManagementAccountUserLinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5217,9 +5309,13 @@
 
 func (c *ManagementAccountUserLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/entityUserLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -5279,29 +5375,29 @@
 	s              *Service
 	accountId      string
 	entityuserlink *EntityUserLink
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Adds a new user to the given account.
 func (r *ManagementAccountUserLinksService) Insert(accountId string, entityuserlink *EntityUserLink) *ManagementAccountUserLinksInsertCall {
-	c := &ManagementAccountUserLinksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountUserLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.entityuserlink = entityuserlink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountUserLinksInsertCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountUserLinksInsertCall) Context(ctx context.Context) *ManagementAccountUserLinksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5314,9 +5410,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/entityUserLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -5396,16 +5496,15 @@
 // method id "analytics.management.accountUserLinks.list":
 
 type ManagementAccountUserLinksListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists account-user links for a given account.
 func (r *ManagementAccountUserLinksService) List(accountId string) *ManagementAccountUserLinksListCall {
-	c := &ManagementAccountUserLinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountUserLinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -5413,7 +5512,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of account-user links to include in this response.
 func (c *ManagementAccountUserLinksListCall) MaxResults(maxResults int64) *ManagementAccountUserLinksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -5421,15 +5520,15 @@
 // first account-user link to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementAccountUserLinksListCall) StartIndex(startIndex int64) *ManagementAccountUserLinksListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountUserLinksListCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5439,13 +5538,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementAccountUserLinksListCall) IfNoneMatch(entityTag string) *ManagementAccountUserLinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountUserLinksListCall) Context(ctx context.Context) *ManagementAccountUserLinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -5453,16 +5552,26 @@
 
 func (c *ManagementAccountUserLinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/entityUserLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5552,31 +5661,31 @@
 	accountId      string
 	linkId         string
 	entityuserlink *EntityUserLink
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates permissions for an existing user on the given
 // account.
 func (r *ManagementAccountUserLinksService) Update(accountId string, linkId string, entityuserlink *EntityUserLink) *ManagementAccountUserLinksUpdateCall {
-	c := &ManagementAccountUserLinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountUserLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.linkId = linkId
 	c.entityuserlink = entityuserlink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountUserLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountUserLinksUpdateCall) Context(ctx context.Context) *ManagementAccountUserLinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5589,9 +5698,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/entityUserLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -5679,22 +5792,21 @@
 // method id "analytics.management.accounts.list":
 
 type ManagementAccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all accounts to which the user has access.
 func (r *ManagementAccountsService) List() *ManagementAccountsListCall {
-	c := &ManagementAccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementAccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of accounts to include in this response.
 func (c *ManagementAccountsListCall) MaxResults(maxResults int64) *ManagementAccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -5702,15 +5814,15 @@
 // first account to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementAccountsListCall) StartIndex(startIndex int64) *ManagementAccountsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementAccountsListCall) Fields(s ...googleapi.Field) *ManagementAccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5720,13 +5832,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementAccountsListCall) IfNoneMatch(entityTag string) *ManagementAccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementAccountsListCall) Context(ctx context.Context) *ManagementAccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5734,14 +5846,24 @@
 
 func (c *ManagementAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5822,14 +5944,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: List custom data sources to which the user has access.
 func (r *ManagementCustomDataSourcesService) List(accountId string, webPropertyId string) *ManagementCustomDataSourcesListCall {
-	c := &ManagementCustomDataSourcesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomDataSourcesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -5838,7 +5959,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of custom data sources to include in this response.
 func (c *ManagementCustomDataSourcesListCall) MaxResults(maxResults int64) *ManagementCustomDataSourcesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -5846,15 +5967,15 @@
 // of the first custom data source to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementCustomDataSourcesListCall) StartIndex(startIndex int64) *ManagementCustomDataSourcesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomDataSourcesListCall) Fields(s ...googleapi.Field) *ManagementCustomDataSourcesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5864,13 +5985,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementCustomDataSourcesListCall) IfNoneMatch(entityTag string) *ManagementCustomDataSourcesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomDataSourcesListCall) Context(ctx context.Context) *ManagementCustomDataSourcesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5878,17 +5999,27 @@
 
 func (c *ManagementCustomDataSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5989,25 +6120,24 @@
 	accountId         string
 	webPropertyId     string
 	customDimensionId string
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Get: Get a custom dimension to which the user has access.
 func (r *ManagementCustomDimensionsService) Get(accountId string, webPropertyId string, customDimensionId string) *ManagementCustomDimensionsGetCall {
-	c := &ManagementCustomDimensionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomDimensionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDimensionId = customDimensionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomDimensionsGetCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6017,13 +6147,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementCustomDimensionsGetCall) IfNoneMatch(entityTag string) *ManagementCustomDimensionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomDimensionsGetCall) Context(ctx context.Context) *ManagementCustomDimensionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6031,9 +6161,13 @@
 
 func (c *ManagementCustomDimensionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":         c.accountId,
@@ -6041,8 +6175,8 @@
 		"customDimensionId": c.customDimensionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6133,30 +6267,30 @@
 	accountId       string
 	webPropertyId   string
 	customdimension *CustomDimension
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Create a new custom dimension.
 func (r *ManagementCustomDimensionsService) Insert(accountId string, webPropertyId string, customdimension *CustomDimension) *ManagementCustomDimensionsInsertCall {
-	c := &ManagementCustomDimensionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomDimensionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customdimension = customdimension
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomDimensionsInsertCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomDimensionsInsertCall) Context(ctx context.Context) *ManagementCustomDimensionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6169,9 +6303,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -6262,14 +6400,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists custom dimensions to which the user has access.
 func (r *ManagementCustomDimensionsService) List(accountId string, webPropertyId string) *ManagementCustomDimensionsListCall {
-	c := &ManagementCustomDimensionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomDimensionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -6278,7 +6415,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of custom dimensions to include in this response.
 func (c *ManagementCustomDimensionsListCall) MaxResults(maxResults int64) *ManagementCustomDimensionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -6286,15 +6423,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementCustomDimensionsListCall) StartIndex(startIndex int64) *ManagementCustomDimensionsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomDimensionsListCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6304,13 +6441,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementCustomDimensionsListCall) IfNoneMatch(entityTag string) *ManagementCustomDimensionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomDimensionsListCall) Context(ctx context.Context) *ManagementCustomDimensionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6318,17 +6455,27 @@
 
 func (c *ManagementCustomDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6426,14 +6573,14 @@
 	webPropertyId     string
 	customDimensionId string
 	customdimension   *CustomDimension
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Updates an existing custom dimension. This method supports
 // patch semantics.
 func (r *ManagementCustomDimensionsService) Patch(accountId string, webPropertyId string, customDimensionId string, customdimension *CustomDimension) *ManagementCustomDimensionsPatchCall {
-	c := &ManagementCustomDimensionsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomDimensionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDimensionId = customDimensionId
@@ -6446,21 +6593,21 @@
 // warnings related to the custom dimension being linked to a custom
 // data source / data set.
 func (c *ManagementCustomDimensionsPatchCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomDimensionsPatchCall {
-	c.urlParams_.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", ignoreCustomDataSourceLinks))
+	c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomDimensionsPatchCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomDimensionsPatchCall) Context(ctx context.Context) *ManagementCustomDimensionsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6473,9 +6620,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
+		params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":         c.accountId,
@@ -6582,13 +6736,13 @@
 	webPropertyId     string
 	customDimensionId string
 	customdimension   *CustomDimension
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Updates an existing custom dimension.
 func (r *ManagementCustomDimensionsService) Update(accountId string, webPropertyId string, customDimensionId string, customdimension *CustomDimension) *ManagementCustomDimensionsUpdateCall {
-	c := &ManagementCustomDimensionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomDimensionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDimensionId = customDimensionId
@@ -6601,21 +6755,21 @@
 // warnings related to the custom dimension being linked to a custom
 // data source / data set.
 func (c *ManagementCustomDimensionsUpdateCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomDimensionsUpdateCall {
-	c.urlParams_.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", ignoreCustomDataSourceLinks))
+	c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomDimensionsUpdateCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomDimensionsUpdateCall) Context(ctx context.Context) *ManagementCustomDimensionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6628,9 +6782,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
+		params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":         c.accountId,
@@ -6736,25 +6897,24 @@
 	accountId      string
 	webPropertyId  string
 	customMetricId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Get a custom metric to which the user has access.
 func (r *ManagementCustomMetricsService) Get(accountId string, webPropertyId string, customMetricId string) *ManagementCustomMetricsGetCall {
-	c := &ManagementCustomMetricsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomMetricsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customMetricId = customMetricId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomMetricsGetCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6764,13 +6924,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementCustomMetricsGetCall) IfNoneMatch(entityTag string) *ManagementCustomMetricsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomMetricsGetCall) Context(ctx context.Context) *ManagementCustomMetricsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6778,9 +6938,13 @@
 
 func (c *ManagementCustomMetricsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":      c.accountId,
@@ -6788,8 +6952,8 @@
 		"customMetricId": c.customMetricId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6880,30 +7044,30 @@
 	accountId     string
 	webPropertyId string
 	custommetric  *CustomMetric
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Create a new custom metric.
 func (r *ManagementCustomMetricsService) Insert(accountId string, webPropertyId string, custommetric *CustomMetric) *ManagementCustomMetricsInsertCall {
-	c := &ManagementCustomMetricsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomMetricsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.custommetric = custommetric
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomMetricsInsertCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomMetricsInsertCall) Context(ctx context.Context) *ManagementCustomMetricsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6916,9 +7080,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -7009,14 +7177,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists custom metrics to which the user has access.
 func (r *ManagementCustomMetricsService) List(accountId string, webPropertyId string) *ManagementCustomMetricsListCall {
-	c := &ManagementCustomMetricsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomMetricsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -7025,7 +7192,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of custom metrics to include in this response.
 func (c *ManagementCustomMetricsListCall) MaxResults(maxResults int64) *ManagementCustomMetricsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -7033,15 +7200,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementCustomMetricsListCall) StartIndex(startIndex int64) *ManagementCustomMetricsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomMetricsListCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7051,13 +7218,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementCustomMetricsListCall) IfNoneMatch(entityTag string) *ManagementCustomMetricsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomMetricsListCall) Context(ctx context.Context) *ManagementCustomMetricsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7065,17 +7232,27 @@
 
 func (c *ManagementCustomMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7173,14 +7350,14 @@
 	webPropertyId  string
 	customMetricId string
 	custommetric   *CustomMetric
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates an existing custom metric. This method supports patch
 // semantics.
 func (r *ManagementCustomMetricsService) Patch(accountId string, webPropertyId string, customMetricId string, custommetric *CustomMetric) *ManagementCustomMetricsPatchCall {
-	c := &ManagementCustomMetricsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomMetricsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customMetricId = customMetricId
@@ -7193,21 +7370,21 @@
 // warnings related to the custom metric being linked to a custom data
 // source / data set.
 func (c *ManagementCustomMetricsPatchCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomMetricsPatchCall {
-	c.urlParams_.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", ignoreCustomDataSourceLinks))
+	c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomMetricsPatchCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomMetricsPatchCall) Context(ctx context.Context) *ManagementCustomMetricsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7220,9 +7397,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
+		params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":      c.accountId,
@@ -7329,13 +7513,13 @@
 	webPropertyId  string
 	customMetricId string
 	custommetric   *CustomMetric
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates an existing custom metric.
 func (r *ManagementCustomMetricsService) Update(accountId string, webPropertyId string, customMetricId string, custommetric *CustomMetric) *ManagementCustomMetricsUpdateCall {
-	c := &ManagementCustomMetricsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementCustomMetricsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customMetricId = customMetricId
@@ -7348,21 +7532,21 @@
 // warnings related to the custom metric being linked to a custom data
 // source / data set.
 func (c *ManagementCustomMetricsUpdateCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomMetricsUpdateCall {
-	c.urlParams_.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", ignoreCustomDataSourceLinks))
+	c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementCustomMetricsUpdateCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementCustomMetricsUpdateCall) Context(ctx context.Context) *ManagementCustomMetricsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7375,9 +7559,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
+		params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":      c.accountId,
@@ -7484,13 +7675,13 @@
 	webPropertyId string
 	profileId     string
 	experimentId  string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Delete an experiment.
 func (r *ManagementExperimentsService) Delete(accountId string, webPropertyId string, profileId string, experimentId string) *ManagementExperimentsDeleteCall {
-	c := &ManagementExperimentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementExperimentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -7498,17 +7689,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementExperimentsDeleteCall) Fields(s ...googleapi.Field) *ManagementExperimentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementExperimentsDeleteCall) Context(ctx context.Context) *ManagementExperimentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7516,9 +7707,13 @@
 
 func (c *ManagementExperimentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -7597,14 +7792,13 @@
 	webPropertyId string
 	profileId     string
 	experimentId  string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Returns an experiment to which the user has access.
 func (r *ManagementExperimentsService) Get(accountId string, webPropertyId string, profileId string, experimentId string) *ManagementExperimentsGetCall {
-	c := &ManagementExperimentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementExperimentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -7612,11 +7806,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementExperimentsGetCall) Fields(s ...googleapi.Field) *ManagementExperimentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7626,13 +7820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementExperimentsGetCall) IfNoneMatch(entityTag string) *ManagementExperimentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementExperimentsGetCall) Context(ctx context.Context) *ManagementExperimentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7640,9 +7834,13 @@
 
 func (c *ManagementExperimentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -7651,8 +7849,8 @@
 		"experimentId":  c.experimentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7752,13 +7950,13 @@
 	webPropertyId string
 	profileId     string
 	experiment    *Experiment
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Create a new experiment.
 func (r *ManagementExperimentsService) Insert(accountId string, webPropertyId string, profileId string, experiment *Experiment) *ManagementExperimentsInsertCall {
-	c := &ManagementExperimentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementExperimentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -7766,17 +7964,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementExperimentsInsertCall) Fields(s ...googleapi.Field) *ManagementExperimentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementExperimentsInsertCall) Context(ctx context.Context) *ManagementExperimentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7789,9 +7987,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -7892,14 +8094,13 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists experiments to which the user has access.
 func (r *ManagementExperimentsService) List(accountId string, webPropertyId string, profileId string) *ManagementExperimentsListCall {
-	c := &ManagementExperimentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementExperimentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -7909,7 +8110,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of experiments to include in this response.
 func (c *ManagementExperimentsListCall) MaxResults(maxResults int64) *ManagementExperimentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -7917,15 +8118,15 @@
 // first experiment to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementExperimentsListCall) StartIndex(startIndex int64) *ManagementExperimentsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementExperimentsListCall) Fields(s ...googleapi.Field) *ManagementExperimentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7935,13 +8136,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementExperimentsListCall) IfNoneMatch(entityTag string) *ManagementExperimentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementExperimentsListCall) Context(ctx context.Context) *ManagementExperimentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7949,9 +8150,19 @@
 
 func (c *ManagementExperimentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -7959,8 +8170,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8070,14 +8281,14 @@
 	profileId     string
 	experimentId  string
 	experiment    *Experiment
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Update an existing experiment. This method supports patch
 // semantics.
 func (r *ManagementExperimentsService) Patch(accountId string, webPropertyId string, profileId string, experimentId string, experiment *Experiment) *ManagementExperimentsPatchCall {
-	c := &ManagementExperimentsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementExperimentsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -8086,17 +8297,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementExperimentsPatchCall) Fields(s ...googleapi.Field) *ManagementExperimentsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementExperimentsPatchCall) Context(ctx context.Context) *ManagementExperimentsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8109,9 +8320,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -8222,13 +8437,13 @@
 	profileId     string
 	experimentId  string
 	experiment    *Experiment
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Update an existing experiment.
 func (r *ManagementExperimentsService) Update(accountId string, webPropertyId string, profileId string, experimentId string, experiment *Experiment) *ManagementExperimentsUpdateCall {
-	c := &ManagementExperimentsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementExperimentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -8237,17 +8452,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementExperimentsUpdateCall) Fields(s ...googleapi.Field) *ManagementExperimentsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementExperimentsUpdateCall) Context(ctx context.Context) *ManagementExperimentsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -8260,9 +8475,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -8367,32 +8586,32 @@
 // method id "analytics.management.filters.delete":
 
 type ManagementFiltersDeleteCall struct {
-	s          *Service
-	accountId  string
-	filterId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	filterId  string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Delete a filter.
 func (r *ManagementFiltersService) Delete(accountId string, filterId string) *ManagementFiltersDeleteCall {
-	c := &ManagementFiltersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementFiltersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.filterId = filterId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementFiltersDeleteCall) Fields(s ...googleapi.Field) *ManagementFiltersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementFiltersDeleteCall) Context(ctx context.Context) *ManagementFiltersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8400,9 +8619,13 @@
 
 func (c *ManagementFiltersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters/{filterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -8486,27 +8709,26 @@
 // method id "analytics.management.filters.get":
 
 type ManagementFiltersGetCall struct {
-	s            *Service
-	accountId    string
-	filterId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	filterId  string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns a filters to which the user has access.
 func (r *ManagementFiltersService) Get(accountId string, filterId string) *ManagementFiltersGetCall {
-	c := &ManagementFiltersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementFiltersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.filterId = filterId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementFiltersGetCall) Fields(s ...googleapi.Field) *ManagementFiltersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8516,13 +8738,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementFiltersGetCall) IfNoneMatch(entityTag string) *ManagementFiltersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementFiltersGetCall) Context(ctx context.Context) *ManagementFiltersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8530,17 +8752,21 @@
 
 func (c *ManagementFiltersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters/{filterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 		"filterId":  c.filterId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8620,32 +8846,32 @@
 // method id "analytics.management.filters.insert":
 
 type ManagementFiltersInsertCall struct {
-	s          *Service
-	accountId  string
-	filter     *Filter
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	filter    *Filter
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Create a new filter.
 func (r *ManagementFiltersService) Insert(accountId string, filter *Filter) *ManagementFiltersInsertCall {
-	c := &ManagementFiltersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementFiltersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.filter = filter
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementFiltersInsertCall) Fields(s ...googleapi.Field) *ManagementFiltersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementFiltersInsertCall) Context(ctx context.Context) *ManagementFiltersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8658,9 +8884,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -8740,16 +8970,15 @@
 // method id "analytics.management.filters.list":
 
 type ManagementFiltersListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all filters for an account
 func (r *ManagementFiltersService) List(accountId string) *ManagementFiltersListCall {
-	c := &ManagementFiltersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementFiltersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -8757,7 +8986,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of filters to include in this response.
 func (c *ManagementFiltersListCall) MaxResults(maxResults int64) *ManagementFiltersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -8765,15 +8994,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementFiltersListCall) StartIndex(startIndex int64) *ManagementFiltersListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementFiltersListCall) Fields(s ...googleapi.Field) *ManagementFiltersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8783,13 +9012,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementFiltersListCall) IfNoneMatch(entityTag string) *ManagementFiltersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementFiltersListCall) Context(ctx context.Context) *ManagementFiltersListCall {
 	c.ctx_ = ctx
 	return c
@@ -8797,16 +9026,26 @@
 
 func (c *ManagementFiltersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8893,35 +9132,35 @@
 // method id "analytics.management.filters.patch":
 
 type ManagementFiltersPatchCall struct {
-	s          *Service
-	accountId  string
-	filterId   string
-	filter     *Filter
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	filterId  string
+	filter    *Filter
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing filter. This method supports patch
 // semantics.
 func (r *ManagementFiltersService) Patch(accountId string, filterId string, filter *Filter) *ManagementFiltersPatchCall {
-	c := &ManagementFiltersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementFiltersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.filterId = filterId
 	c.filter = filter
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementFiltersPatchCall) Fields(s ...googleapi.Field) *ManagementFiltersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementFiltersPatchCall) Context(ctx context.Context) *ManagementFiltersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8934,9 +9173,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters/{filterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -9024,34 +9267,34 @@
 // method id "analytics.management.filters.update":
 
 type ManagementFiltersUpdateCall struct {
-	s          *Service
-	accountId  string
-	filterId   string
-	filter     *Filter
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	filterId  string
+	filter    *Filter
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing filter.
 func (r *ManagementFiltersService) Update(accountId string, filterId string, filter *Filter) *ManagementFiltersUpdateCall {
-	c := &ManagementFiltersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementFiltersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.filterId = filterId
 	c.filter = filter
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementFiltersUpdateCall) Fields(s ...googleapi.Field) *ManagementFiltersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementFiltersUpdateCall) Context(ctx context.Context) *ManagementFiltersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9064,9 +9307,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters/{filterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -9159,14 +9406,13 @@
 	webPropertyId string
 	profileId     string
 	goalId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Gets a goal to which the user has access.
 func (r *ManagementGoalsService) Get(accountId string, webPropertyId string, profileId string, goalId string) *ManagementGoalsGetCall {
-	c := &ManagementGoalsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementGoalsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -9174,11 +9420,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementGoalsGetCall) Fields(s ...googleapi.Field) *ManagementGoalsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9188,13 +9434,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementGoalsGetCall) IfNoneMatch(entityTag string) *ManagementGoalsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementGoalsGetCall) Context(ctx context.Context) *ManagementGoalsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9202,9 +9448,13 @@
 
 func (c *ManagementGoalsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -9213,8 +9463,8 @@
 		"goalId":        c.goalId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9313,13 +9563,13 @@
 	webPropertyId string
 	profileId     string
 	goal          *Goal
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Create a new goal.
 func (r *ManagementGoalsService) Insert(accountId string, webPropertyId string, profileId string, goal *Goal) *ManagementGoalsInsertCall {
-	c := &ManagementGoalsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementGoalsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -9327,17 +9577,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementGoalsInsertCall) Fields(s ...googleapi.Field) *ManagementGoalsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementGoalsInsertCall) Context(ctx context.Context) *ManagementGoalsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9350,9 +9600,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -9452,14 +9706,13 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists goals to which the user has access.
 func (r *ManagementGoalsService) List(accountId string, webPropertyId string, profileId string) *ManagementGoalsListCall {
-	c := &ManagementGoalsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementGoalsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -9469,7 +9722,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of goals to include in this response.
 func (c *ManagementGoalsListCall) MaxResults(maxResults int64) *ManagementGoalsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -9477,15 +9730,15 @@
 // first goal to retrieve. Use this parameter as a pagination mechanism
 // along with the max-results parameter.
 func (c *ManagementGoalsListCall) StartIndex(startIndex int64) *ManagementGoalsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementGoalsListCall) Fields(s ...googleapi.Field) *ManagementGoalsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9495,13 +9748,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementGoalsListCall) IfNoneMatch(entityTag string) *ManagementGoalsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementGoalsListCall) Context(ctx context.Context) *ManagementGoalsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9509,9 +9762,19 @@
 
 func (c *ManagementGoalsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -9519,8 +9782,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9627,14 +9890,14 @@
 	profileId     string
 	goalId        string
 	goal          *Goal
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing view (profile). This method supports patch
 // semantics.
 func (r *ManagementGoalsService) Patch(accountId string, webPropertyId string, profileId string, goalId string, goal *Goal) *ManagementGoalsPatchCall {
-	c := &ManagementGoalsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementGoalsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -9643,17 +9906,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementGoalsPatchCall) Fields(s ...googleapi.Field) *ManagementGoalsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementGoalsPatchCall) Context(ctx context.Context) *ManagementGoalsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9666,9 +9929,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -9778,13 +10045,13 @@
 	profileId     string
 	goalId        string
 	goal          *Goal
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing view (profile).
 func (r *ManagementGoalsService) Update(accountId string, webPropertyId string, profileId string, goalId string, goal *Goal) *ManagementGoalsUpdateCall {
-	c := &ManagementGoalsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementGoalsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -9793,17 +10060,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementGoalsUpdateCall) Fields(s ...googleapi.Field) *ManagementGoalsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementGoalsUpdateCall) Context(ctx context.Context) *ManagementGoalsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9816,9 +10083,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -9927,13 +10198,13 @@
 	webPropertyId string
 	profileId     string
 	linkId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Delete a profile filter link.
 func (r *ManagementProfileFilterLinksService) Delete(accountId string, webPropertyId string, profileId string, linkId string) *ManagementProfileFilterLinksDeleteCall {
-	c := &ManagementProfileFilterLinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileFilterLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -9941,17 +10212,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileFilterLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileFilterLinksDeleteCall) Context(ctx context.Context) *ManagementProfileFilterLinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9959,9 +10230,13 @@
 
 func (c *ManagementProfileFilterLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10043,14 +10318,13 @@
 	webPropertyId string
 	profileId     string
 	linkId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Returns a single profile filter link.
 func (r *ManagementProfileFilterLinksService) Get(accountId string, webPropertyId string, profileId string, linkId string) *ManagementProfileFilterLinksGetCall {
-	c := &ManagementProfileFilterLinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileFilterLinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10058,11 +10332,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileFilterLinksGetCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10072,13 +10346,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementProfileFilterLinksGetCall) IfNoneMatch(entityTag string) *ManagementProfileFilterLinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileFilterLinksGetCall) Context(ctx context.Context) *ManagementProfileFilterLinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10086,9 +10360,13 @@
 
 func (c *ManagementProfileFilterLinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10097,8 +10375,8 @@
 		"linkId":        c.linkId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10201,13 +10479,13 @@
 	webPropertyId     string
 	profileId         string
 	profilefilterlink *ProfileFilterLink
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Insert: Create a new profile filter link.
 func (r *ManagementProfileFilterLinksService) Insert(accountId string, webPropertyId string, profileId string, profilefilterlink *ProfileFilterLink) *ManagementProfileFilterLinksInsertCall {
-	c := &ManagementProfileFilterLinksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileFilterLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10215,17 +10493,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileFilterLinksInsertCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileFilterLinksInsertCall) Context(ctx context.Context) *ManagementProfileFilterLinksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -10238,9 +10516,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10343,14 +10625,13 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists all profile filter links for a profile.
 func (r *ManagementProfileFilterLinksService) List(accountId string, webPropertyId string, profileId string) *ManagementProfileFilterLinksListCall {
-	c := &ManagementProfileFilterLinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileFilterLinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10360,7 +10641,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of profile filter links to include in this response.
 func (c *ManagementProfileFilterLinksListCall) MaxResults(maxResults int64) *ManagementProfileFilterLinksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -10368,15 +10649,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementProfileFilterLinksListCall) StartIndex(startIndex int64) *ManagementProfileFilterLinksListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileFilterLinksListCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10386,13 +10667,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementProfileFilterLinksListCall) IfNoneMatch(entityTag string) *ManagementProfileFilterLinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileFilterLinksListCall) Context(ctx context.Context) *ManagementProfileFilterLinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -10400,9 +10681,19 @@
 
 func (c *ManagementProfileFilterLinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10410,8 +10701,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10518,14 +10809,14 @@
 	profileId         string
 	linkId            string
 	profilefilterlink *ProfileFilterLink
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Update an existing profile filter link. This method supports
 // patch semantics.
 func (r *ManagementProfileFilterLinksService) Patch(accountId string, webPropertyId string, profileId string, linkId string, profilefilterlink *ProfileFilterLink) *ManagementProfileFilterLinksPatchCall {
-	c := &ManagementProfileFilterLinksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileFilterLinksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10534,17 +10825,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileFilterLinksPatchCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileFilterLinksPatchCall) Context(ctx context.Context) *ManagementProfileFilterLinksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10557,9 +10848,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10673,13 +10968,13 @@
 	profileId         string
 	linkId            string
 	profilefilterlink *ProfileFilterLink
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Update an existing profile filter link.
 func (r *ManagementProfileFilterLinksService) Update(accountId string, webPropertyId string, profileId string, linkId string, profilefilterlink *ProfileFilterLink) *ManagementProfileFilterLinksUpdateCall {
-	c := &ManagementProfileFilterLinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileFilterLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10688,17 +10983,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileFilterLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileFilterLinksUpdateCall) Context(ctx context.Context) *ManagementProfileFilterLinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10711,9 +11006,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10826,13 +11125,13 @@
 	webPropertyId string
 	profileId     string
 	linkId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Removes a user from the given view (profile).
 func (r *ManagementProfileUserLinksService) Delete(accountId string, webPropertyId string, profileId string, linkId string) *ManagementProfileUserLinksDeleteCall {
-	c := &ManagementProfileUserLinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileUserLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10840,17 +11139,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileUserLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileUserLinksDeleteCall) Context(ctx context.Context) *ManagementProfileUserLinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -10858,9 +11157,13 @@
 
 func (c *ManagementProfileUserLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -10938,13 +11241,13 @@
 	webPropertyId  string
 	profileId      string
 	entityuserlink *EntityUserLink
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Adds a new user to the given view (profile).
 func (r *ManagementProfileUserLinksService) Insert(accountId string, webPropertyId string, profileId string, entityuserlink *EntityUserLink) *ManagementProfileUserLinksInsertCall {
-	c := &ManagementProfileUserLinksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileUserLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -10952,17 +11255,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileUserLinksInsertCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileUserLinksInsertCall) Context(ctx context.Context) *ManagementProfileUserLinksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -10975,9 +11278,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -11077,14 +11384,13 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists profile-user links for a given view (profile).
 func (r *ManagementProfileUserLinksService) List(accountId string, webPropertyId string, profileId string) *ManagementProfileUserLinksListCall {
-	c := &ManagementProfileUserLinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileUserLinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -11094,7 +11400,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of profile-user links to include in this response.
 func (c *ManagementProfileUserLinksListCall) MaxResults(maxResults int64) *ManagementProfileUserLinksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -11102,15 +11408,15 @@
 // first profile-user link to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementProfileUserLinksListCall) StartIndex(startIndex int64) *ManagementProfileUserLinksListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileUserLinksListCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11120,13 +11426,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementProfileUserLinksListCall) IfNoneMatch(entityTag string) *ManagementProfileUserLinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileUserLinksListCall) Context(ctx context.Context) *ManagementProfileUserLinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -11134,9 +11440,19 @@
 
 func (c *ManagementProfileUserLinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -11144,8 +11460,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11251,14 +11567,14 @@
 	profileId      string
 	linkId         string
 	entityuserlink *EntityUserLink
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates permissions for an existing user on the given view
 // (profile).
 func (r *ManagementProfileUserLinksService) Update(accountId string, webPropertyId string, profileId string, linkId string, entityuserlink *EntityUserLink) *ManagementProfileUserLinksUpdateCall {
-	c := &ManagementProfileUserLinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfileUserLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -11267,17 +11583,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfileUserLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfileUserLinksUpdateCall) Context(ctx context.Context) *ManagementProfileUserLinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11290,9 +11606,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -11400,30 +11720,30 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes a view (profile).
 func (r *ManagementProfilesService) Delete(accountId string, webPropertyId string, profileId string) *ManagementProfilesDeleteCall {
-	c := &ManagementProfilesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesDeleteCall) Fields(s ...googleapi.Field) *ManagementProfilesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesDeleteCall) Context(ctx context.Context) *ManagementProfilesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11431,9 +11751,13 @@
 
 func (c *ManagementProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -11502,25 +11826,24 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Gets a view (profile) to which the user has access.
 func (r *ManagementProfilesService) Get(accountId string, webPropertyId string, profileId string) *ManagementProfilesGetCall {
-	c := &ManagementProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesGetCall) Fields(s ...googleapi.Field) *ManagementProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11530,13 +11853,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementProfilesGetCall) IfNoneMatch(entityTag string) *ManagementProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesGetCall) Context(ctx context.Context) *ManagementProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11544,9 +11867,13 @@
 
 func (c *ManagementProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -11554,8 +11881,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11649,30 +11976,30 @@
 	accountId     string
 	webPropertyId string
 	profile       *Profile
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Create a new view (profile).
 func (r *ManagementProfilesService) Insert(accountId string, webPropertyId string, profile *Profile) *ManagementProfilesInsertCall {
-	c := &ManagementProfilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profile = profile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesInsertCall) Fields(s ...googleapi.Field) *ManagementProfilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesInsertCall) Context(ctx context.Context) *ManagementProfilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -11685,9 +12012,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -11778,14 +12109,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists views (profiles) to which the user has access.
 func (r *ManagementProfilesService) List(accountId string, webPropertyId string) *ManagementProfilesListCall {
-	c := &ManagementProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -11794,7 +12124,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of views (profiles) to include in this response.
 func (c *ManagementProfilesListCall) MaxResults(maxResults int64) *ManagementProfilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -11802,15 +12132,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementProfilesListCall) StartIndex(startIndex int64) *ManagementProfilesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesListCall) Fields(s ...googleapi.Field) *ManagementProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11820,13 +12150,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementProfilesListCall) IfNoneMatch(entityTag string) *ManagementProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesListCall) Context(ctx context.Context) *ManagementProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11834,17 +12164,27 @@
 
 func (c *ManagementProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11943,14 +12283,14 @@
 	webPropertyId string
 	profileId     string
 	profile       *Profile
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing view (profile). This method supports patch
 // semantics.
 func (r *ManagementProfilesService) Patch(accountId string, webPropertyId string, profileId string, profile *Profile) *ManagementProfilesPatchCall {
-	c := &ManagementProfilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -11958,17 +12298,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesPatchCall) Fields(s ...googleapi.Field) *ManagementProfilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesPatchCall) Context(ctx context.Context) *ManagementProfilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -11981,9 +12321,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -12084,13 +12428,13 @@
 	webPropertyId string
 	profileId     string
 	profile       *Profile
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing view (profile).
 func (r *ManagementProfilesService) Update(accountId string, webPropertyId string, profileId string, profile *Profile) *ManagementProfilesUpdateCall {
-	c := &ManagementProfilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementProfilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -12098,17 +12442,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementProfilesUpdateCall) Fields(s ...googleapi.Field) *ManagementProfilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementProfilesUpdateCall) Context(ctx context.Context) *ManagementProfilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -12121,9 +12465,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -12219,22 +12567,21 @@
 // method id "analytics.management.segments.list":
 
 type ManagementSegmentsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists segments to which the user has access.
 func (r *ManagementSegmentsService) List() *ManagementSegmentsListCall {
-	c := &ManagementSegmentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementSegmentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of segments to include in this response.
 func (c *ManagementSegmentsListCall) MaxResults(maxResults int64) *ManagementSegmentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -12242,15 +12589,15 @@
 // first segment to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementSegmentsListCall) StartIndex(startIndex int64) *ManagementSegmentsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementSegmentsListCall) Fields(s ...googleapi.Field) *ManagementSegmentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12260,13 +12607,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementSegmentsListCall) IfNoneMatch(entityTag string) *ManagementSegmentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementSegmentsListCall) Context(ctx context.Context) *ManagementSegmentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12274,14 +12621,24 @@
 
 func (c *ManagementSegmentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/segments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12364,14 +12721,13 @@
 	webPropertyId     string
 	profileId         string
 	unsampledReportId string
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Get: Returns a single unsampled report.
 func (r *ManagementUnsampledReportsService) Get(accountId string, webPropertyId string, profileId string, unsampledReportId string) *ManagementUnsampledReportsGetCall {
-	c := &ManagementUnsampledReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUnsampledReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -12379,11 +12735,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUnsampledReportsGetCall) Fields(s ...googleapi.Field) *ManagementUnsampledReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12393,13 +12749,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementUnsampledReportsGetCall) IfNoneMatch(entityTag string) *ManagementUnsampledReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementUnsampledReportsGetCall) Context(ctx context.Context) *ManagementUnsampledReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12407,9 +12763,13 @@
 
 func (c *ManagementUnsampledReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":         c.accountId,
@@ -12418,8 +12778,8 @@
 		"unsampledReportId": c.unsampledReportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12519,13 +12879,13 @@
 	webPropertyId   string
 	profileId       string
 	unsampledreport *UnsampledReport
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Create a new unsampled report.
 func (r *ManagementUnsampledReportsService) Insert(accountId string, webPropertyId string, profileId string, unsampledreport *UnsampledReport) *ManagementUnsampledReportsInsertCall {
-	c := &ManagementUnsampledReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUnsampledReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -12533,17 +12893,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUnsampledReportsInsertCall) Fields(s ...googleapi.Field) *ManagementUnsampledReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementUnsampledReportsInsertCall) Context(ctx context.Context) *ManagementUnsampledReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12556,9 +12916,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -12659,14 +13023,13 @@
 	accountId     string
 	webPropertyId string
 	profileId     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists unsampled reports to which the user has access.
 func (r *ManagementUnsampledReportsService) List(accountId string, webPropertyId string, profileId string) *ManagementUnsampledReportsListCall {
-	c := &ManagementUnsampledReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUnsampledReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.profileId = profileId
@@ -12676,7 +13039,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of unsampled reports to include in this response.
 func (c *ManagementUnsampledReportsListCall) MaxResults(maxResults int64) *ManagementUnsampledReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -12684,15 +13047,15 @@
 // first unsampled report to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementUnsampledReportsListCall) StartIndex(startIndex int64) *ManagementUnsampledReportsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUnsampledReportsListCall) Fields(s ...googleapi.Field) *ManagementUnsampledReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12702,13 +13065,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementUnsampledReportsListCall) IfNoneMatch(entityTag string) *ManagementUnsampledReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementUnsampledReportsListCall) Context(ctx context.Context) *ManagementUnsampledReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12716,9 +13079,19 @@
 
 func (c *ManagementUnsampledReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -12726,8 +13099,8 @@
 		"profileId":     c.profileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12833,13 +13206,13 @@
 	webPropertyId                              string
 	customDataSourceId                         string
 	analyticsdataimportdeleteuploaddatarequest *AnalyticsDataimportDeleteUploadDataRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
 // DeleteUploadData: Delete data associated with a previous upload.
 func (r *ManagementUploadsService) DeleteUploadData(accountId string, webPropertyId string, customDataSourceId string, analyticsdataimportdeleteuploaddatarequest *AnalyticsDataimportDeleteUploadDataRequest) *ManagementUploadsDeleteUploadDataCall {
-	c := &ManagementUploadsDeleteUploadDataCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUploadsDeleteUploadDataCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDataSourceId = customDataSourceId
@@ -12847,17 +13220,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUploadsDeleteUploadDataCall) Fields(s ...googleapi.Field) *ManagementUploadsDeleteUploadDataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementUploadsDeleteUploadDataCall) Context(ctx context.Context) *ManagementUploadsDeleteUploadDataCall {
 	c.ctx_ = ctx
 	return c
@@ -12870,9 +13243,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -12950,14 +13327,13 @@
 	webPropertyId      string
 	customDataSourceId string
 	uploadId           string
-	urlParams_         internal.URLParams
-	ifNoneMatch_       string
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Get: List uploads to which the user has access.
 func (r *ManagementUploadsService) Get(accountId string, webPropertyId string, customDataSourceId string, uploadId string) *ManagementUploadsGetCall {
-	c := &ManagementUploadsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUploadsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDataSourceId = customDataSourceId
@@ -12965,11 +13341,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUploadsGetCall) Fields(s ...googleapi.Field) *ManagementUploadsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12979,13 +13355,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementUploadsGetCall) IfNoneMatch(entityTag string) *ManagementUploadsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementUploadsGetCall) Context(ctx context.Context) *ManagementUploadsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12993,9 +13369,13 @@
 
 func (c *ManagementUploadsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -13004,8 +13384,8 @@
 		"uploadId":           c.uploadId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13108,14 +13488,13 @@
 	accountId          string
 	webPropertyId      string
 	customDataSourceId string
-	urlParams_         internal.URLParams
-	ifNoneMatch_       string
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // List: List uploads to which the user has access.
 func (r *ManagementUploadsService) List(accountId string, webPropertyId string, customDataSourceId string) *ManagementUploadsListCall {
-	c := &ManagementUploadsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUploadsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDataSourceId = customDataSourceId
@@ -13125,7 +13504,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of uploads to include in this response.
 func (c *ManagementUploadsListCall) MaxResults(maxResults int64) *ManagementUploadsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -13133,15 +13512,15 @@
 // of the first upload to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementUploadsListCall) StartIndex(startIndex int64) *ManagementUploadsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUploadsListCall) Fields(s ...googleapi.Field) *ManagementUploadsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13151,13 +13530,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementUploadsListCall) IfNoneMatch(entityTag string) *ManagementUploadsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementUploadsListCall) Context(ctx context.Context) *ManagementUploadsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13165,9 +13544,19 @@
 
 func (c *ManagementUploadsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -13175,8 +13564,8 @@
 		"customDataSourceId": c.customDataSourceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13285,38 +13674,37 @@
 	accountId          string
 	webPropertyId      string
 	customDataSourceId string
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	media_             io.Reader
 	resumable_         googleapi.SizeReaderAt
 	mediaType_         string
 	protocol_          string
-	progressUpdater_   googleapi.ProgressUpdater
 	ctx_               context.Context
 }
 
 // UploadData: Upload data for a custom data source.
 func (r *ManagementUploadsService) UploadData(accountId string, webPropertyId string, customDataSourceId string) *ManagementUploadsUploadDataCall {
-	c := &ManagementUploadsUploadDataCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementUploadsUploadDataCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.customDataSourceId = customDataSourceId
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ManagementUploadsUploadDataCall) Media(r io.Reader) *ManagementUploadsUploadDataCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ManagementUploadsUploadDataCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ManagementUploadsUploadDataCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -13325,28 +13713,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ManagementUploadsUploadDataCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ManagementUploadsUploadDataCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementUploadsUploadDataCall) Fields(s ...googleapi.Field) *ManagementUploadsUploadDataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ManagementUploadsUploadDataCall) Context(ctx context.Context) *ManagementUploadsUploadDataCall {
 	c.ctx_ = ctx
 	return c
@@ -13354,13 +13741,17 @@
 
 func (c *ManagementUploadsUploadDataCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -13417,6 +13808,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -13426,7 +13823,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -13511,30 +13908,30 @@
 	accountId                string
 	webPropertyId            string
 	webPropertyAdWordsLinkId string
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Delete: Deletes a web property-AdWords link.
 func (r *ManagementWebPropertyAdWordsLinksService) Delete(accountId string, webPropertyId string, webPropertyAdWordsLinkId string) *ManagementWebPropertyAdWordsLinksDeleteCall {
-	c := &ManagementWebPropertyAdWordsLinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebPropertyAdWordsLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebPropertyAdWordsLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebPropertyAdWordsLinksDeleteCall) Context(ctx context.Context) *ManagementWebPropertyAdWordsLinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13542,9 +13939,13 @@
 
 func (c *ManagementWebPropertyAdWordsLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":                c.accountId,
@@ -13613,26 +14014,25 @@
 	accountId                string
 	webPropertyId            string
 	webPropertyAdWordsLinkId string
-	urlParams_               internal.URLParams
-	ifNoneMatch_             string
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Get: Returns a web property-AdWords link to which the user has
 // access.
 func (r *ManagementWebPropertyAdWordsLinksService) Get(accountId string, webPropertyId string, webPropertyAdWordsLinkId string) *ManagementWebPropertyAdWordsLinksGetCall {
-	c := &ManagementWebPropertyAdWordsLinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebPropertyAdWordsLinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebPropertyAdWordsLinksGetCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13642,13 +14042,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementWebPropertyAdWordsLinksGetCall) IfNoneMatch(entityTag string) *ManagementWebPropertyAdWordsLinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebPropertyAdWordsLinksGetCall) Context(ctx context.Context) *ManagementWebPropertyAdWordsLinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13656,9 +14056,13 @@
 
 func (c *ManagementWebPropertyAdWordsLinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":                c.accountId,
@@ -13666,8 +14070,8 @@
 		"webPropertyAdWordsLinkId": c.webPropertyAdWordsLinkId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13758,30 +14162,30 @@
 	accountId         string
 	webPropertyId     string
 	entityadwordslink *EntityAdWordsLink
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Insert: Creates a webProperty-AdWords link.
 func (r *ManagementWebPropertyAdWordsLinksService) Insert(accountId string, webPropertyId string, entityadwordslink *EntityAdWordsLink) *ManagementWebPropertyAdWordsLinksInsertCall {
-	c := &ManagementWebPropertyAdWordsLinksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebPropertyAdWordsLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.entityadwordslink = entityadwordslink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebPropertyAdWordsLinksInsertCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebPropertyAdWordsLinksInsertCall) Context(ctx context.Context) *ManagementWebPropertyAdWordsLinksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13794,9 +14198,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -13887,14 +14295,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists webProperty-AdWords links for a given web property.
 func (r *ManagementWebPropertyAdWordsLinksService) List(accountId string, webPropertyId string) *ManagementWebPropertyAdWordsLinksListCall {
-	c := &ManagementWebPropertyAdWordsLinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebPropertyAdWordsLinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -13903,7 +14310,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of webProperty-AdWords links to include in this response.
 func (c *ManagementWebPropertyAdWordsLinksListCall) MaxResults(maxResults int64) *ManagementWebPropertyAdWordsLinksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -13911,15 +14318,15 @@
 // first webProperty-AdWords link to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementWebPropertyAdWordsLinksListCall) StartIndex(startIndex int64) *ManagementWebPropertyAdWordsLinksListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebPropertyAdWordsLinksListCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13929,13 +14336,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementWebPropertyAdWordsLinksListCall) IfNoneMatch(entityTag string) *ManagementWebPropertyAdWordsLinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebPropertyAdWordsLinksListCall) Context(ctx context.Context) *ManagementWebPropertyAdWordsLinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -13943,17 +14350,27 @@
 
 func (c *ManagementWebPropertyAdWordsLinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14052,14 +14469,14 @@
 	webPropertyId            string
 	webPropertyAdWordsLinkId string
 	entityadwordslink        *EntityAdWordsLink
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Patch: Updates an existing webProperty-AdWords link. This method
 // supports patch semantics.
 func (r *ManagementWebPropertyAdWordsLinksService) Patch(accountId string, webPropertyId string, webPropertyAdWordsLinkId string, entityadwordslink *EntityAdWordsLink) *ManagementWebPropertyAdWordsLinksPatchCall {
-	c := &ManagementWebPropertyAdWordsLinksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebPropertyAdWordsLinksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
@@ -14067,17 +14484,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebPropertyAdWordsLinksPatchCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebPropertyAdWordsLinksPatchCall) Context(ctx context.Context) *ManagementWebPropertyAdWordsLinksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -14090,9 +14507,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":                c.accountId,
@@ -14193,13 +14614,13 @@
 	webPropertyId            string
 	webPropertyAdWordsLinkId string
 	entityadwordslink        *EntityAdWordsLink
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Update: Updates an existing webProperty-AdWords link.
 func (r *ManagementWebPropertyAdWordsLinksService) Update(accountId string, webPropertyId string, webPropertyAdWordsLinkId string, entityadwordslink *EntityAdWordsLink) *ManagementWebPropertyAdWordsLinksUpdateCall {
-	c := &ManagementWebPropertyAdWordsLinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebPropertyAdWordsLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
@@ -14207,17 +14628,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebPropertyAdWordsLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebPropertyAdWordsLinksUpdateCall) Context(ctx context.Context) *ManagementWebPropertyAdWordsLinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -14230,9 +14651,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":                c.accountId,
@@ -14331,24 +14756,23 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Gets a web property to which the user has access.
 func (r *ManagementWebpropertiesService) Get(accountId string, webPropertyId string) *ManagementWebpropertiesGetCall {
-	c := &ManagementWebpropertiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertiesGetCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14358,13 +14782,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementWebpropertiesGetCall) IfNoneMatch(entityTag string) *ManagementWebpropertiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertiesGetCall) Context(ctx context.Context) *ManagementWebpropertiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -14372,17 +14796,21 @@
 
 func (c *ManagementWebpropertiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14467,7 +14895,7 @@
 	s           *Service
 	accountId   string
 	webproperty *Webproperty
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -14475,23 +14903,23 @@
 // properties. Web properties are visible in the Google Analytics
 // interface only if they have at least one profile.
 func (r *ManagementWebpropertiesService) Insert(accountId string, webproperty *Webproperty) *ManagementWebpropertiesInsertCall {
-	c := &ManagementWebpropertiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webproperty = webproperty
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertiesInsertCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertiesInsertCall) Context(ctx context.Context) *ManagementWebpropertiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14504,9 +14932,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -14586,16 +15018,15 @@
 // method id "analytics.management.webproperties.list":
 
 type ManagementWebpropertiesListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists web properties to which the user has access.
 func (r *ManagementWebpropertiesService) List(accountId string) *ManagementWebpropertiesListCall {
-	c := &ManagementWebpropertiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -14603,7 +15034,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of web properties to include in this response.
 func (c *ManagementWebpropertiesListCall) MaxResults(maxResults int64) *ManagementWebpropertiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -14611,15 +15042,15 @@
 // first entity to retrieve. Use this parameter as a pagination
 // mechanism along with the max-results parameter.
 func (c *ManagementWebpropertiesListCall) StartIndex(startIndex int64) *ManagementWebpropertiesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertiesListCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14629,13 +15060,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementWebpropertiesListCall) IfNoneMatch(entityTag string) *ManagementWebpropertiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertiesListCall) Context(ctx context.Context) *ManagementWebpropertiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -14643,16 +15074,26 @@
 
 func (c *ManagementWebpropertiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14743,31 +15184,31 @@
 	accountId     string
 	webPropertyId string
 	webproperty   *Webproperty
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing web property. This method supports patch
 // semantics.
 func (r *ManagementWebpropertiesService) Patch(accountId string, webPropertyId string, webproperty *Webproperty) *ManagementWebpropertiesPatchCall {
-	c := &ManagementWebpropertiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.webproperty = webproperty
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertiesPatchCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertiesPatchCall) Context(ctx context.Context) *ManagementWebpropertiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -14780,9 +15221,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -14874,30 +15319,30 @@
 	accountId     string
 	webPropertyId string
 	webproperty   *Webproperty
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing web property.
 func (r *ManagementWebpropertiesService) Update(accountId string, webPropertyId string, webproperty *Webproperty) *ManagementWebpropertiesUpdateCall {
-	c := &ManagementWebpropertiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.webproperty = webproperty
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertiesUpdateCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertiesUpdateCall) Context(ctx context.Context) *ManagementWebpropertiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -14910,9 +15355,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -15004,30 +15453,30 @@
 	accountId     string
 	webPropertyId string
 	linkId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Removes a user from the given web property.
 func (r *ManagementWebpropertyUserLinksService) Delete(accountId string, webPropertyId string, linkId string) *ManagementWebpropertyUserLinksDeleteCall {
-	c := &ManagementWebpropertyUserLinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertyUserLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.linkId = linkId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertyUserLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertyUserLinksDeleteCall) Context(ctx context.Context) *ManagementWebpropertyUserLinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -15035,9 +15484,13 @@
 
 func (c *ManagementWebpropertyUserLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -15106,30 +15559,30 @@
 	accountId      string
 	webPropertyId  string
 	entityuserlink *EntityUserLink
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Adds a new user to the given web property.
 func (r *ManagementWebpropertyUserLinksService) Insert(accountId string, webPropertyId string, entityuserlink *EntityUserLink) *ManagementWebpropertyUserLinksInsertCall {
-	c := &ManagementWebpropertyUserLinksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertyUserLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.entityuserlink = entityuserlink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertyUserLinksInsertCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertyUserLinksInsertCall) Context(ctx context.Context) *ManagementWebpropertyUserLinksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15142,9 +15595,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -15235,14 +15692,13 @@
 	s             *Service
 	accountId     string
 	webPropertyId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists webProperty-user links for a given web property.
 func (r *ManagementWebpropertyUserLinksService) List(accountId string, webPropertyId string) *ManagementWebpropertyUserLinksListCall {
-	c := &ManagementWebpropertyUserLinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertyUserLinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	return c
@@ -15251,7 +15707,7 @@
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of webProperty-user Links to include in this response.
 func (c *ManagementWebpropertyUserLinksListCall) MaxResults(maxResults int64) *ManagementWebpropertyUserLinksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -15259,15 +15715,15 @@
 // first webProperty-user link to retrieve. Use this parameter as a
 // pagination mechanism along with the max-results parameter.
 func (c *ManagementWebpropertyUserLinksListCall) StartIndex(startIndex int64) *ManagementWebpropertyUserLinksListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertyUserLinksListCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15277,13 +15733,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagementWebpropertyUserLinksListCall) IfNoneMatch(entityTag string) *ManagementWebpropertyUserLinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertyUserLinksListCall) Context(ctx context.Context) *ManagementWebpropertyUserLinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -15291,17 +15747,27 @@
 
 func (c *ManagementWebpropertyUserLinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
 		"webPropertyId": c.webPropertyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15399,14 +15865,14 @@
 	webPropertyId  string
 	linkId         string
 	entityuserlink *EntityUserLink
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates permissions for an existing user on the given web
 // property.
 func (r *ManagementWebpropertyUserLinksService) Update(accountId string, webPropertyId string, linkId string, entityuserlink *EntityUserLink) *ManagementWebpropertyUserLinksUpdateCall {
-	c := &ManagementWebpropertyUserLinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagementWebpropertyUserLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.webPropertyId = webPropertyId
 	c.linkId = linkId
@@ -15414,17 +15880,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagementWebpropertyUserLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagementWebpropertyUserLinksUpdateCall) Context(ctx context.Context) *ManagementWebpropertyUserLinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -15437,9 +15903,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":     c.accountId,
@@ -15535,25 +16005,24 @@
 // method id "analytics.metadata.columns.list":
 
 type MetadataColumnsListCall struct {
-	s            *Service
-	reportType   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	reportType string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists all columns for a report type
 func (r *MetadataColumnsService) List(reportType string) *MetadataColumnsListCall {
-	c := &MetadataColumnsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetadataColumnsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportType = reportType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetadataColumnsListCall) Fields(s ...googleapi.Field) *MetadataColumnsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15563,13 +16032,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetadataColumnsListCall) IfNoneMatch(entityTag string) *MetadataColumnsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetadataColumnsListCall) Context(ctx context.Context) *MetadataColumnsListCall {
 	c.ctx_ = ctx
 	return c
@@ -15577,16 +16046,20 @@
 
 func (c *MetadataColumnsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metadata/{reportType}/columns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportType": c.reportType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15663,28 +16136,28 @@
 type ProvisioningCreateAccountTicketCall struct {
 	s             *Service
 	accountticket *AccountTicket
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // CreateAccountTicket: Creates an account ticket.
 func (r *ProvisioningService) CreateAccountTicket(accountticket *AccountTicket) *ProvisioningCreateAccountTicketCall {
-	c := &ProvisioningCreateAccountTicketCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProvisioningCreateAccountTicketCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountticket = accountticket
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProvisioningCreateAccountTicketCall) Fields(s ...googleapi.Field) *ProvisioningCreateAccountTicketCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProvisioningCreateAccountTicketCall) Context(ctx context.Context) *ProvisioningCreateAccountTicketCall {
 	c.ctx_ = ctx
 	return c
@@ -15697,9 +16170,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "provisioning/createAccountTicket")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/androidenterprise/v1/androidenterprise-gen.go b/androidenterprise/v1/androidenterprise-gen.go
index 25e2f5f..78cea11 100644
--- a/androidenterprise/v1/androidenterprise-gen.go
+++ b/androidenterprise/v1/androidenterprise-gen.go
@@ -1426,29 +1426,29 @@
 	s            *Service
 	enterpriseId string
 	collectionId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes a collection.
 func (r *CollectionsService) Delete(enterpriseId string, collectionId string) *CollectionsDeleteCall {
-	c := &CollectionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionsDeleteCall) Fields(s ...googleapi.Field) *CollectionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionsDeleteCall) Context(ctx context.Context) *CollectionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1456,9 +1456,13 @@
 
 func (c *CollectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -1518,24 +1522,23 @@
 	s            *Service
 	enterpriseId string
 	collectionId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves the details of a collection.
 func (r *CollectionsService) Get(enterpriseId string, collectionId string) *CollectionsGetCall {
-	c := &CollectionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionsGetCall) Fields(s ...googleapi.Field) *CollectionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1545,13 +1548,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CollectionsGetCall) IfNoneMatch(entityTag string) *CollectionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionsGetCall) Context(ctx context.Context) *CollectionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1559,17 +1562,21 @@
 
 func (c *CollectionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"collectionId": c.collectionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1651,29 +1658,29 @@
 	s            *Service
 	enterpriseId string
 	collection   *Collection
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Creates a new collection.
 func (r *CollectionsService) Insert(enterpriseId string, collection *Collection) *CollectionsInsertCall {
-	c := &CollectionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collection = collection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionsInsertCall) Fields(s ...googleapi.Field) *CollectionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionsInsertCall) Context(ctx context.Context) *CollectionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1686,9 +1693,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -1770,23 +1781,22 @@
 type CollectionsListCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves the IDs of all the collections for an enterprise.
 func (r *CollectionsService) List(enterpriseId string) *CollectionsListCall {
-	c := &CollectionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionsListCall) Fields(s ...googleapi.Field) *CollectionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1796,13 +1806,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CollectionsListCall) IfNoneMatch(entityTag string) *CollectionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionsListCall) Context(ctx context.Context) *CollectionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1810,16 +1820,20 @@
 
 func (c *CollectionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1895,30 +1909,30 @@
 	enterpriseId string
 	collectionId string
 	collection   *Collection
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates a collection. This method supports patch semantics.
 func (r *CollectionsService) Patch(enterpriseId string, collectionId string, collection *Collection) *CollectionsPatchCall {
-	c := &CollectionsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	c.collection = collection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionsPatchCall) Fields(s ...googleapi.Field) *CollectionsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionsPatchCall) Context(ctx context.Context) *CollectionsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1931,9 +1945,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2025,30 +2043,30 @@
 	enterpriseId string
 	collectionId string
 	collection   *Collection
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates a collection.
 func (r *CollectionsService) Update(enterpriseId string, collectionId string, collection *Collection) *CollectionsUpdateCall {
-	c := &CollectionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	c.collection = collection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionsUpdateCall) Fields(s ...googleapi.Field) *CollectionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionsUpdateCall) Context(ctx context.Context) *CollectionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2061,9 +2079,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2155,7 +2177,7 @@
 	enterpriseId string
 	collectionId string
 	userId       string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2163,24 +2185,24 @@
 // to see the collection. If the collection's visibility is set to
 // viewersOnly then only such users will see the collection.
 func (r *CollectionviewersService) Delete(enterpriseId string, collectionId string, userId string) *CollectionviewersDeleteCall {
-	c := &CollectionviewersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionviewersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionviewersDeleteCall) Fields(s ...googleapi.Field) *CollectionviewersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionviewersDeleteCall) Context(ctx context.Context) *CollectionviewersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2188,9 +2210,13 @@
 
 func (c *CollectionviewersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2259,8 +2285,7 @@
 	enterpriseId string
 	collectionId string
 	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2268,18 +2293,18 @@
 // allowed to see the collection. If the collection's visibility is set
 // to viewersOnly then only these users will see the collection.
 func (r *CollectionviewersService) Get(enterpriseId string, collectionId string, userId string) *CollectionviewersGetCall {
-	c := &CollectionviewersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionviewersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionviewersGetCall) Fields(s ...googleapi.Field) *CollectionviewersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2289,13 +2314,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CollectionviewersGetCall) IfNoneMatch(entityTag string) *CollectionviewersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionviewersGetCall) Context(ctx context.Context) *CollectionviewersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2303,9 +2328,13 @@
 
 func (c *CollectionviewersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2313,8 +2342,8 @@
 		"userId":       c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2403,8 +2432,7 @@
 	s            *Service
 	enterpriseId string
 	collectionId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2412,17 +2440,17 @@
 // allowed to see the collection. If the collection's visibility is set
 // to viewersOnly then only these users will see the collection.
 func (r *CollectionviewersService) List(enterpriseId string, collectionId string) *CollectionviewersListCall {
-	c := &CollectionviewersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionviewersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionviewersListCall) Fields(s ...googleapi.Field) *CollectionviewersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2432,13 +2460,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CollectionviewersListCall) IfNoneMatch(entityTag string) *CollectionviewersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionviewersListCall) Context(ctx context.Context) *CollectionviewersListCall {
 	c.ctx_ = ctx
 	return c
@@ -2446,17 +2474,21 @@
 
 func (c *CollectionviewersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"collectionId": c.collectionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2540,7 +2572,7 @@
 	collectionId string
 	userId       string
 	user         *User
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2549,7 +2581,7 @@
 // then only such users will see the collection. This method supports
 // patch semantics.
 func (r *CollectionviewersService) Patch(enterpriseId string, collectionId string, userId string, user *User) *CollectionviewersPatchCall {
-	c := &CollectionviewersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionviewersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	c.userId = userId
@@ -2557,17 +2589,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionviewersPatchCall) Fields(s ...googleapi.Field) *CollectionviewersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionviewersPatchCall) Context(ctx context.Context) *CollectionviewersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2580,9 +2612,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2683,7 +2719,7 @@
 	collectionId string
 	userId       string
 	user         *User
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2691,7 +2727,7 @@
 // see the collection. If the collection's visibility is set to
 // viewersOnly then only such users will see the collection.
 func (r *CollectionviewersService) Update(enterpriseId string, collectionId string, userId string, user *User) *CollectionviewersUpdateCall {
-	c := &CollectionviewersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CollectionviewersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.collectionId = collectionId
 	c.userId = userId
@@ -2699,17 +2735,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CollectionviewersUpdateCall) Fields(s ...googleapi.Field) *CollectionviewersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CollectionviewersUpdateCall) Context(ctx context.Context) *CollectionviewersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2722,9 +2758,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2824,25 +2864,24 @@
 	enterpriseId string
 	userId       string
 	deviceId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves the details of a device.
 func (r *DevicesService) Get(enterpriseId string, userId string, deviceId string) *DevicesGetCall {
-	c := &DevicesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DevicesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DevicesGetCall) Fields(s ...googleapi.Field) *DevicesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2852,13 +2891,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DevicesGetCall) IfNoneMatch(entityTag string) *DevicesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DevicesGetCall) Context(ctx context.Context) *DevicesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2866,9 +2905,13 @@
 
 func (c *DevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -2876,8 +2919,8 @@
 		"deviceId":     c.deviceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2967,8 +3010,7 @@
 	enterpriseId string
 	userId       string
 	deviceId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2978,18 +3020,18 @@
 // Google Admin Console. Otherwise, the device state is ignored and all
 // devices are allowed access to Google services.
 func (r *DevicesService) GetState(enterpriseId string, userId string, deviceId string) *DevicesGetStateCall {
-	c := &DevicesGetStateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DevicesGetStateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DevicesGetStateCall) Fields(s ...googleapi.Field) *DevicesGetStateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2999,13 +3041,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DevicesGetStateCall) IfNoneMatch(entityTag string) *DevicesGetStateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DevicesGetStateCall) Context(ctx context.Context) *DevicesGetStateCall {
 	c.ctx_ = ctx
 	return c
@@ -3013,9 +3055,13 @@
 
 func (c *DevicesGetStateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -3023,8 +3069,8 @@
 		"deviceId":     c.deviceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3113,24 +3159,23 @@
 	s            *Service
 	enterpriseId string
 	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves the IDs of all of a user's devices.
 func (r *DevicesService) List(enterpriseId string, userId string) *DevicesListCall {
-	c := &DevicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DevicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DevicesListCall) Fields(s ...googleapi.Field) *DevicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3140,13 +3185,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DevicesListCall) IfNoneMatch(entityTag string) *DevicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DevicesListCall) Context(ctx context.Context) *DevicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3154,17 +3199,21 @@
 
 func (c *DevicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"userId":       c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3248,7 +3297,7 @@
 	userId       string
 	deviceId     string
 	devicestate  *DeviceState
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -3258,7 +3307,7 @@
 // Admin Console. Otherwise, the device state is ignored and all devices
 // are allowed access to Google services.
 func (r *DevicesService) SetState(enterpriseId string, userId string, deviceId string, devicestate *DeviceState) *DevicesSetStateCall {
-	c := &DevicesSetStateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DevicesSetStateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
@@ -3266,17 +3315,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DevicesSetStateCall) Fields(s ...googleapi.Field) *DevicesSetStateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DevicesSetStateCall) Context(ctx context.Context) *DevicesSetStateCall {
 	c.ctx_ = ctx
 	return c
@@ -3289,9 +3338,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -3389,7 +3442,7 @@
 type EnterprisesDeleteCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -3398,22 +3451,22 @@
 // enrolled with the 'insert' call, then enroll them again with the
 // 'enroll' call.
 func (r *EnterprisesService) Delete(enterpriseId string) *EnterprisesDeleteCall {
-	c := &EnterprisesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EnterprisesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesDeleteCall) Fields(s ...googleapi.Field) *EnterprisesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesDeleteCall) Context(ctx context.Context) *EnterprisesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3421,9 +3474,13 @@
 
 func (c *EnterprisesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -3473,30 +3530,31 @@
 
 type EnterprisesEnrollCall struct {
 	s          *Service
+	token      string
 	enterprise *Enterprise
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Enroll: Enrolls an enterprise with the calling MDM.
 func (r *EnterprisesService) Enroll(token string, enterprise *Enterprise) *EnterprisesEnrollCall {
-	c := &EnterprisesEnrollCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("token", token)
+	c := &EnterprisesEnrollCall{s: r.s, opt_: make(map[string]interface{})}
+	c.token = token
 	c.enterprise = enterprise
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesEnrollCall) Fields(s ...googleapi.Field) *EnterprisesEnrollCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesEnrollCall) Context(ctx context.Context) *EnterprisesEnrollCall {
 	c.ctx_ = ctx
 	return c
@@ -3509,9 +3567,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("token", fmt.Sprintf("%v", c.token))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/enroll")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3591,23 +3654,22 @@
 type EnterprisesGetCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves the name and domain of an enterprise.
 func (r *EnterprisesService) Get(enterpriseId string) *EnterprisesGetCall {
-	c := &EnterprisesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EnterprisesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesGetCall) Fields(s ...googleapi.Field) *EnterprisesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3617,13 +3679,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EnterprisesGetCall) IfNoneMatch(entityTag string) *EnterprisesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesGetCall) Context(ctx context.Context) *EnterprisesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3631,16 +3693,20 @@
 
 func (c *EnterprisesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3713,31 +3779,32 @@
 
 type EnterprisesInsertCall struct {
 	s          *Service
+	token      string
 	enterprise *Enterprise
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Establishes the binding between the MDM and an enterprise.
 // This is now deprecated; use enroll instead.
 func (r *EnterprisesService) Insert(token string, enterprise *Enterprise) *EnterprisesInsertCall {
-	c := &EnterprisesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("token", token)
+	c := &EnterprisesInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.token = token
 	c.enterprise = enterprise
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesInsertCall) Fields(s ...googleapi.Field) *EnterprisesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesInsertCall) Context(ctx context.Context) *EnterprisesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3750,9 +3817,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("token", fmt.Sprintf("%v", c.token))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3830,24 +3902,24 @@
 // method id "androidenterprise.enterprises.list":
 
 type EnterprisesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	domain string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Looks up an enterprise by domain name.
 func (r *EnterprisesService) List(domain string) *EnterprisesListCall {
-	c := &EnterprisesListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("domain", domain)
+	c := &EnterprisesListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.domain = domain
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesListCall) Fields(s ...googleapi.Field) *EnterprisesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3857,13 +3929,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EnterprisesListCall) IfNoneMatch(entityTag string) *EnterprisesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesListCall) Context(ctx context.Context) *EnterprisesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3871,14 +3943,19 @@
 
 func (c *EnterprisesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("domain", fmt.Sprintf("%v", c.domain))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3952,7 +4029,7 @@
 type EnterprisesSendTestPushNotificationCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -3960,22 +4037,22 @@
 // the MDM integration with the Google Cloud Pub/Sub service for this
 // enterprise.
 func (r *EnterprisesService) SendTestPushNotification(enterpriseId string) *EnterprisesSendTestPushNotificationCall {
-	c := &EnterprisesSendTestPushNotificationCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EnterprisesSendTestPushNotificationCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesSendTestPushNotificationCall) Fields(s ...googleapi.Field) *EnterprisesSendTestPushNotificationCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesSendTestPushNotificationCall) Context(ctx context.Context) *EnterprisesSendTestPushNotificationCall {
 	c.ctx_ = ctx
 	return c
@@ -3983,9 +4060,13 @@
 
 func (c *EnterprisesSendTestPushNotificationCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/sendTestPushNotification")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -4066,30 +4147,30 @@
 	s                 *Service
 	enterpriseId      string
 	enterpriseaccount *EnterpriseAccount
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // SetAccount: Set the account that will be used to authenticate to the
 // API as the enterprise.
 func (r *EnterprisesService) SetAccount(enterpriseId string, enterpriseaccount *EnterpriseAccount) *EnterprisesSetAccountCall {
-	c := &EnterprisesSetAccountCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EnterprisesSetAccountCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.enterpriseaccount = enterpriseaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesSetAccountCall) Fields(s ...googleapi.Field) *EnterprisesSetAccountCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesSetAccountCall) Context(ctx context.Context) *EnterprisesSetAccountCall {
 	c.ctx_ = ctx
 	return c
@@ -4102,9 +4183,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/account")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -4186,28 +4271,28 @@
 type EnterprisesUnenrollCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Unenroll: Unenrolls an enterprise from the calling MDM.
 func (r *EnterprisesService) Unenroll(enterpriseId string) *EnterprisesUnenrollCall {
-	c := &EnterprisesUnenrollCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EnterprisesUnenrollCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EnterprisesUnenrollCall) Fields(s ...googleapi.Field) *EnterprisesUnenrollCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EnterprisesUnenrollCall) Context(ctx context.Context) *EnterprisesUnenrollCall {
 	c.ctx_ = ctx
 	return c
@@ -4215,9 +4300,13 @@
 
 func (c *EnterprisesUnenrollCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/unenroll")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -4270,31 +4359,31 @@
 	enterpriseId  string
 	userId        string
 	entitlementId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Removes an entitlement to an app for a user and uninstalls
 // it.
 func (r *EntitlementsService) Delete(enterpriseId string, userId string, entitlementId string) *EntitlementsDeleteCall {
-	c := &EntitlementsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EntitlementsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.entitlementId = entitlementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EntitlementsDeleteCall) Fields(s ...googleapi.Field) *EntitlementsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EntitlementsDeleteCall) Context(ctx context.Context) *EntitlementsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4302,9 +4391,13 @@
 
 func (c *EntitlementsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId":  c.enterpriseId,
@@ -4373,25 +4466,24 @@
 	enterpriseId  string
 	userId        string
 	entitlementId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Retrieves details of an entitlement.
 func (r *EntitlementsService) Get(enterpriseId string, userId string, entitlementId string) *EntitlementsGetCall {
-	c := &EntitlementsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EntitlementsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.entitlementId = entitlementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EntitlementsGetCall) Fields(s ...googleapi.Field) *EntitlementsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4401,13 +4493,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EntitlementsGetCall) IfNoneMatch(entityTag string) *EntitlementsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EntitlementsGetCall) Context(ctx context.Context) *EntitlementsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4415,9 +4507,13 @@
 
 func (c *EntitlementsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId":  c.enterpriseId,
@@ -4425,8 +4521,8 @@
 		"entitlementId": c.entitlementId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4515,25 +4611,24 @@
 	s            *Service
 	enterpriseId string
 	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: List of all entitlements for the specified user. Only the ID is
 // set.
 func (r *EntitlementsService) List(enterpriseId string, userId string) *EntitlementsListCall {
-	c := &EntitlementsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EntitlementsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EntitlementsListCall) Fields(s ...googleapi.Field) *EntitlementsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4543,13 +4638,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EntitlementsListCall) IfNoneMatch(entityTag string) *EntitlementsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EntitlementsListCall) Context(ctx context.Context) *EntitlementsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4557,17 +4652,21 @@
 
 func (c *EntitlementsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/entitlements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"userId":       c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4651,14 +4750,14 @@
 	userId        string
 	entitlementId string
 	entitlement   *Entitlement
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Adds or updates an entitlement to an app for a user. This
 // method supports patch semantics.
 func (r *EntitlementsService) Patch(enterpriseId string, userId string, entitlementId string, entitlement *Entitlement) *EntitlementsPatchCall {
-	c := &EntitlementsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EntitlementsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.entitlementId = entitlementId
@@ -4672,21 +4771,21 @@
 // from returning successfully, as long as the entitlement was
 // successfully assigned to the user.
 func (c *EntitlementsPatchCall) Install(install bool) *EntitlementsPatchCall {
-	c.urlParams_.Set("install", fmt.Sprintf("%v", install))
+	c.opt_["install"] = install
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EntitlementsPatchCall) Fields(s ...googleapi.Field) *EntitlementsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EntitlementsPatchCall) Context(ctx context.Context) *EntitlementsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4699,9 +4798,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["install"]; ok {
+		params.Set("install", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId":  c.enterpriseId,
@@ -4807,13 +4913,13 @@
 	userId        string
 	entitlementId string
 	entitlement   *Entitlement
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Adds or updates an entitlement to an app for a user.
 func (r *EntitlementsService) Update(enterpriseId string, userId string, entitlementId string, entitlement *Entitlement) *EntitlementsUpdateCall {
-	c := &EntitlementsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EntitlementsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.entitlementId = entitlementId
@@ -4827,21 +4933,21 @@
 // from returning successfully, as long as the entitlement was
 // successfully assigned to the user.
 func (c *EntitlementsUpdateCall) Install(install bool) *EntitlementsUpdateCall {
-	c.urlParams_.Set("install", fmt.Sprintf("%v", install))
+	c.opt_["install"] = install
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EntitlementsUpdateCall) Fields(s ...googleapi.Field) *EntitlementsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EntitlementsUpdateCall) Context(ctx context.Context) *EntitlementsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4854,9 +4960,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["install"]; ok {
+		params.Set("install", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId":  c.enterpriseId,
@@ -4960,25 +5073,24 @@
 	s              *Service
 	enterpriseId   string
 	groupLicenseId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Retrieves details of an enterprise's group license for a
 // product.
 func (r *GrouplicensesService) Get(enterpriseId string, groupLicenseId string) *GrouplicensesGetCall {
-	c := &GrouplicensesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GrouplicensesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.groupLicenseId = groupLicenseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GrouplicensesGetCall) Fields(s ...googleapi.Field) *GrouplicensesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4988,13 +5100,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GrouplicensesGetCall) IfNoneMatch(entityTag string) *GrouplicensesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GrouplicensesGetCall) Context(ctx context.Context) *GrouplicensesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5002,17 +5114,21 @@
 
 func (c *GrouplicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId":   c.enterpriseId,
 		"groupLicenseId": c.groupLicenseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5093,24 +5209,23 @@
 type GrouplicensesListCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves IDs of all products for which the enterprise has a
 // group license.
 func (r *GrouplicensesService) List(enterpriseId string) *GrouplicensesListCall {
-	c := &GrouplicensesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GrouplicensesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GrouplicensesListCall) Fields(s ...googleapi.Field) *GrouplicensesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5120,13 +5235,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GrouplicensesListCall) IfNoneMatch(entityTag string) *GrouplicensesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GrouplicensesListCall) Context(ctx context.Context) *GrouplicensesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5134,16 +5249,20 @@
 
 func (c *GrouplicensesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/groupLicenses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5218,25 +5337,24 @@
 	s              *Service
 	enterpriseId   string
 	groupLicenseId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // List: Retrieves the IDs of the users who have been granted
 // entitlements under the license.
 func (r *GrouplicenseusersService) List(enterpriseId string, groupLicenseId string) *GrouplicenseusersListCall {
-	c := &GrouplicenseusersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GrouplicenseusersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.groupLicenseId = groupLicenseId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GrouplicenseusersListCall) Fields(s ...googleapi.Field) *GrouplicenseusersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5246,13 +5364,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GrouplicenseusersListCall) IfNoneMatch(entityTag string) *GrouplicenseusersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GrouplicenseusersListCall) Context(ctx context.Context) *GrouplicenseusersListCall {
 	c.ctx_ = ctx
 	return c
@@ -5260,17 +5378,21 @@
 
 func (c *GrouplicenseusersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId":   c.enterpriseId,
 		"groupLicenseId": c.groupLicenseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5354,7 +5476,7 @@
 	userId       string
 	deviceId     string
 	installId    string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -5362,7 +5484,7 @@
 // list will still show the app as installed on the device until it is
 // actually removed.
 func (r *InstallsService) Delete(enterpriseId string, userId string, deviceId string, installId string) *InstallsDeleteCall {
-	c := &InstallsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstallsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
@@ -5370,17 +5492,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstallsDeleteCall) Fields(s ...googleapi.Field) *InstallsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstallsDeleteCall) Context(ctx context.Context) *InstallsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5388,9 +5510,13 @@
 
 func (c *InstallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -5468,14 +5594,13 @@
 	userId       string
 	deviceId     string
 	installId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves details of an installation of an app on a device.
 func (r *InstallsService) Get(enterpriseId string, userId string, deviceId string, installId string) *InstallsGetCall {
-	c := &InstallsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstallsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
@@ -5483,11 +5608,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstallsGetCall) Fields(s ...googleapi.Field) *InstallsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5497,13 +5622,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstallsGetCall) IfNoneMatch(entityTag string) *InstallsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstallsGetCall) Context(ctx context.Context) *InstallsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5511,9 +5636,13 @@
 
 func (c *InstallsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -5522,8 +5651,8 @@
 		"installId":    c.installId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5620,26 +5749,25 @@
 	enterpriseId string
 	userId       string
 	deviceId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves the details of all apps installed on the specified
 // device.
 func (r *InstallsService) List(enterpriseId string, userId string, deviceId string) *InstallsListCall {
-	c := &InstallsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstallsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstallsListCall) Fields(s ...googleapi.Field) *InstallsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5649,13 +5777,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstallsListCall) IfNoneMatch(entityTag string) *InstallsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstallsListCall) Context(ctx context.Context) *InstallsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5663,9 +5791,13 @@
 
 func (c *InstallsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -5673,8 +5805,8 @@
 		"deviceId":     c.deviceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5766,7 +5898,7 @@
 	deviceId     string
 	installId    string
 	install      *Install
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -5774,7 +5906,7 @@
 // If the app is already installed then it is updated to the latest
 // version if necessary. This method supports patch semantics.
 func (r *InstallsService) Patch(enterpriseId string, userId string, deviceId string, installId string, install *Install) *InstallsPatchCall {
-	c := &InstallsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstallsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
@@ -5783,17 +5915,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstallsPatchCall) Fields(s ...googleapi.Field) *InstallsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstallsPatchCall) Context(ctx context.Context) *InstallsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5806,9 +5938,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -5918,7 +6054,7 @@
 	deviceId     string
 	installId    string
 	install      *Install
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -5926,7 +6062,7 @@
 // If the app is already installed then it is updated to the latest
 // version if necessary.
 func (r *InstallsService) Update(enterpriseId string, userId string, deviceId string, installId string, install *Install) *InstallsUpdateCall {
-	c := &InstallsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstallsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.deviceId = deviceId
@@ -5935,17 +6071,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstallsUpdateCall) Fields(s ...googleapi.Field) *InstallsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstallsUpdateCall) Context(ctx context.Context) *InstallsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5958,9 +6094,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -6066,15 +6206,14 @@
 type PermissionsGetCall struct {
 	s            *Service
 	permissionId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves details of an Android app permission for display to an
 // enterprise admin.
 func (r *PermissionsService) Get(permissionId string) *PermissionsGetCall {
-	c := &PermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.permissionId = permissionId
 	return c
 }
@@ -6082,15 +6221,15 @@
 // Language sets the optional parameter "language": The BCP47 tag for
 // the user's preferred language (e.g. "en-US", "de")
 func (c *PermissionsGetCall) Language(language string) *PermissionsGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsGetCall) Fields(s ...googleapi.Field) *PermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6100,13 +6239,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PermissionsGetCall) IfNoneMatch(entityTag string) *PermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsGetCall) Context(ctx context.Context) *PermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6114,16 +6253,23 @@
 
 func (c *PermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"permissionId": c.permissionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6204,31 +6350,31 @@
 	enterpriseId           string
 	productId              string
 	productsapproverequest *ProductsApproveRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // Approve: Approves the specified product (and the relevant app
 // permissions, if any).
 func (r *ProductsService) Approve(enterpriseId string, productId string, productsapproverequest *ProductsApproveRequest) *ProductsApproveCall {
-	c := &ProductsApproveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsApproveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.productId = productId
 	c.productsapproverequest = productsapproverequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsApproveCall) Fields(s ...googleapi.Field) *ProductsApproveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsApproveCall) Context(ctx context.Context) *ProductsApproveCall {
 	c.ctx_ = ctx
 	return c
@@ -6241,9 +6387,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/products/{productId}/approve")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -6307,7 +6457,7 @@
 	s            *Service
 	enterpriseId string
 	productId    string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -6323,7 +6473,7 @@
 // Products.approve call to approve the product. This URL can only be
 // used to display permissions for up to 1 day.
 func (r *ProductsService) GenerateApprovalUrl(enterpriseId string, productId string) *ProductsGenerateApprovalUrlCall {
-	c := &ProductsGenerateApprovalUrlCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsGenerateApprovalUrlCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.productId = productId
 	return c
@@ -6333,21 +6483,21 @@
 // language code used for permission names and descriptions in the
 // returned iframe, for instance "en-US".
 func (c *ProductsGenerateApprovalUrlCall) LanguageCode(languageCode string) *ProductsGenerateApprovalUrlCall {
-	c.urlParams_.Set("languageCode", languageCode)
+	c.opt_["languageCode"] = languageCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsGenerateApprovalUrlCall) Fields(s ...googleapi.Field) *ProductsGenerateApprovalUrlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsGenerateApprovalUrlCall) Context(ctx context.Context) *ProductsGenerateApprovalUrlCall {
 	c.ctx_ = ctx
 	return c
@@ -6355,9 +6505,16 @@
 
 func (c *ProductsGenerateApprovalUrlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["languageCode"]; ok {
+		params.Set("languageCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -6450,15 +6607,14 @@
 	s            *Service
 	enterpriseId string
 	productId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves details of a product for display to an enterprise
 // admin.
 func (r *ProductsService) Get(enterpriseId string, productId string) *ProductsGetCall {
-	c := &ProductsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.productId = productId
 	return c
@@ -6467,15 +6623,15 @@
 // Language sets the optional parameter "language": The BCP47 tag for
 // the user's preferred language (e.g. "en-US", "de").
 func (c *ProductsGetCall) Language(language string) *ProductsGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsGetCall) Fields(s ...googleapi.Field) *ProductsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6485,13 +6641,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductsGetCall) IfNoneMatch(entityTag string) *ProductsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsGetCall) Context(ctx context.Context) *ProductsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6499,17 +6655,24 @@
 
 func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/products/{productId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"productId":    c.productId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6596,8 +6759,7 @@
 	s            *Service
 	enterpriseId string
 	productId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -6605,7 +6767,7 @@
 // restrictions configurable for this product. All products have a
 // schema, but this may be empty if no app restrictions are defined.
 func (r *ProductsService) GetAppRestrictionsSchema(enterpriseId string, productId string) *ProductsGetAppRestrictionsSchemaCall {
-	c := &ProductsGetAppRestrictionsSchemaCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsGetAppRestrictionsSchemaCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.productId = productId
 	return c
@@ -6614,15 +6776,15 @@
 // Language sets the optional parameter "language": The BCP47 tag for
 // the user's preferred language (e.g. "en-US", "de").
 func (c *ProductsGetAppRestrictionsSchemaCall) Language(language string) *ProductsGetAppRestrictionsSchemaCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsGetAppRestrictionsSchemaCall) Fields(s ...googleapi.Field) *ProductsGetAppRestrictionsSchemaCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6632,13 +6794,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductsGetAppRestrictionsSchemaCall) IfNoneMatch(entityTag string) *ProductsGetAppRestrictionsSchemaCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsGetAppRestrictionsSchemaCall) Context(ctx context.Context) *ProductsGetAppRestrictionsSchemaCall {
 	c.ctx_ = ctx
 	return c
@@ -6646,17 +6808,24 @@
 
 func (c *ProductsGetAppRestrictionsSchemaCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"productId":    c.productId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6743,25 +6912,24 @@
 	s            *Service
 	enterpriseId string
 	productId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // GetPermissions: Retrieves the Android app permissions required by
 // this app.
 func (r *ProductsService) GetPermissions(enterpriseId string, productId string) *ProductsGetPermissionsCall {
-	c := &ProductsGetPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsGetPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.productId = productId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsGetPermissionsCall) Fields(s ...googleapi.Field) *ProductsGetPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6771,13 +6939,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductsGetPermissionsCall) IfNoneMatch(entityTag string) *ProductsGetPermissionsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsGetPermissionsCall) Context(ctx context.Context) *ProductsGetPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -6785,17 +6953,21 @@
 
 func (c *ProductsGetPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/products/{productId}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"productId":    c.productId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6878,31 +7050,31 @@
 	enterpriseId       string
 	productId          string
 	productpermissions *ProductPermissions
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // UpdatePermissions: Updates the set of Android app permissions for
 // this app that have been accepted by the enterprise.
 func (r *ProductsService) UpdatePermissions(enterpriseId string, productId string, productpermissions *ProductPermissions) *ProductsUpdatePermissionsCall {
-	c := &ProductsUpdatePermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsUpdatePermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.productId = productId
 	c.productpermissions = productpermissions
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsUpdatePermissionsCall) Fields(s ...googleapi.Field) *ProductsUpdatePermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsUpdatePermissionsCall) Context(ctx context.Context) *ProductsUpdatePermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -6915,9 +7087,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/products/{productId}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -7008,7 +7184,7 @@
 	s            *Service
 	enterpriseId string
 	userId       string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -7016,23 +7192,23 @@
 // to configure their work account in the Android Setup Wizard. Revokes
 // any previously generated token.
 func (r *UsersService) GenerateToken(enterpriseId string, userId string) *UsersGenerateTokenCall {
-	c := &UsersGenerateTokenCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGenerateTokenCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGenerateTokenCall) Fields(s ...googleapi.Field) *UsersGenerateTokenCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGenerateTokenCall) Context(ctx context.Context) *UsersGenerateTokenCall {
 	c.ctx_ = ctx
 	return c
@@ -7040,9 +7216,13 @@
 
 func (c *UsersGenerateTokenCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/token")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -7129,24 +7309,23 @@
 	s            *Service
 	enterpriseId string
 	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves a user's details.
 func (r *UsersService) Get(enterpriseId string, userId string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7156,13 +7335,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7170,17 +7349,21 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"userId":       c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7262,25 +7445,24 @@
 	s            *Service
 	enterpriseId string
 	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // GetAvailableProductSet: Retrieves the set of products a user is
 // entitled to access.
 func (r *UsersService) GetAvailableProductSet(enterpriseId string, userId string) *UsersGetAvailableProductSetCall {
-	c := &UsersGetAvailableProductSetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetAvailableProductSetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetAvailableProductSetCall) Fields(s ...googleapi.Field) *UsersGetAvailableProductSetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7290,13 +7472,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetAvailableProductSetCall) IfNoneMatch(entityTag string) *UsersGetAvailableProductSetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetAvailableProductSetCall) Context(ctx context.Context) *UsersGetAvailableProductSetCall {
 	c.ctx_ = ctx
 	return c
@@ -7304,17 +7486,21 @@
 
 func (c *UsersGetAvailableProductSetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/availableProductSet")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 		"userId":       c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7395,24 +7581,24 @@
 type UsersListCall struct {
 	s            *Service
 	enterpriseId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	email        string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Looks up a user by email address.
 func (r *UsersService) List(enterpriseId string, email string) *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
-	c.urlParams_.Set("email", email)
+	c.email = email
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7422,13 +7608,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -7436,16 +7622,21 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("email", fmt.Sprintf("%v", c.email))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7527,30 +7718,30 @@
 	s            *Service
 	enterpriseId string
 	userId       string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // RevokeToken: Revokes a previously generated token (activation code)
 // for the user.
 func (r *UsersService) RevokeToken(enterpriseId string, userId string) *UsersRevokeTokenCall {
-	c := &UsersRevokeTokenCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersRevokeTokenCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersRevokeTokenCall) Fields(s ...googleapi.Field) *UsersRevokeTokenCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersRevokeTokenCall) Context(ctx context.Context) *UsersRevokeTokenCall {
 	c.ctx_ = ctx
 	return c
@@ -7558,9 +7749,13 @@
 
 func (c *UsersRevokeTokenCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/token")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
@@ -7621,31 +7816,31 @@
 	enterpriseId string
 	userId       string
 	productset   *ProductSet
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // SetAvailableProductSet: Modifies the set of products a user is
 // entitled to access.
 func (r *UsersService) SetAvailableProductSet(enterpriseId string, userId string, productset *ProductSet) *UsersSetAvailableProductSetCall {
-	c := &UsersSetAvailableProductSetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersSetAvailableProductSetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.enterpriseId = enterpriseId
 	c.userId = userId
 	c.productset = productset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersSetAvailableProductSetCall) Fields(s ...googleapi.Field) *UsersSetAvailableProductSetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersSetAvailableProductSetCall) Context(ctx context.Context) *UsersSetAvailableProductSetCall {
 	c.ctx_ = ctx
 	return c
@@ -7658,9 +7853,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/users/{userId}/availableProductSet")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"enterpriseId": c.enterpriseId,
diff --git a/androidpublisher/v1.1/androidpublisher-gen.go b/androidpublisher/v1.1/androidpublisher-gen.go
index e288cb0..969bb82 100644
--- a/androidpublisher/v1.1/androidpublisher-gen.go
+++ b/androidpublisher/v1.1/androidpublisher-gen.go
@@ -181,29 +181,28 @@
 // method id "androidpublisher.inapppurchases.get":
 
 type InapppurchasesGetCall struct {
-	s            *Service
-	packageName  string
-	productId    string
-	token        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	packageName string
+	productId   string
+	token       string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Checks the purchase and consumption status of an inapp item.
 func (r *InapppurchasesService) Get(packageName string, productId string, token string) *InapppurchasesGetCall {
-	c := &InapppurchasesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InapppurchasesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.productId = productId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InapppurchasesGetCall) Fields(s ...googleapi.Field) *InapppurchasesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -213,13 +212,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InapppurchasesGetCall) IfNoneMatch(entityTag string) *InapppurchasesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InapppurchasesGetCall) Context(ctx context.Context) *InapppurchasesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -227,9 +226,13 @@
 
 func (c *InapppurchasesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inapp/{productId}/purchases/{token}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageName,
@@ -237,8 +240,8 @@
 		"token":       c.token,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -328,31 +331,31 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Cancel: Cancels a user's subscription purchase. The subscription
 // remains valid until its expiration time.
 func (r *PurchasesService) Cancel(packageName string, subscriptionId string, token string) *PurchasesCancelCall {
-	c := &PurchasesCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesCancelCall) Fields(s ...googleapi.Field) *PurchasesCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesCancelCall) Context(ctx context.Context) *PurchasesCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -360,9 +363,13 @@
 
 func (c *PurchasesCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -431,26 +438,25 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Checks whether a user's subscription purchase is valid and
 // returns its expiry time.
 func (r *PurchasesService) Get(packageName string, subscriptionId string, token string) *PurchasesGetCall {
-	c := &PurchasesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesGetCall) Fields(s ...googleapi.Field) *PurchasesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -460,13 +466,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PurchasesGetCall) IfNoneMatch(entityTag string) *PurchasesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesGetCall) Context(ctx context.Context) *PurchasesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -474,9 +480,13 @@
 
 func (c *PurchasesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -484,8 +494,8 @@
 		"token":          c.token,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/androidpublisher/v1/androidpublisher-gen.go b/androidpublisher/v1/androidpublisher-gen.go
index 5f25e98..fb80f37 100644
--- a/androidpublisher/v1/androidpublisher-gen.go
+++ b/androidpublisher/v1/androidpublisher-gen.go
@@ -127,31 +127,31 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Cancel: Cancels a user's subscription purchase. The subscription
 // remains valid until its expiration time.
 func (r *PurchasesService) Cancel(packageName string, subscriptionId string, token string) *PurchasesCancelCall {
-	c := &PurchasesCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesCancelCall) Fields(s ...googleapi.Field) *PurchasesCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesCancelCall) Context(ctx context.Context) *PurchasesCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -159,9 +159,13 @@
 
 func (c *PurchasesCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -230,26 +234,25 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Checks whether a user's subscription purchase is valid and
 // returns its expiry time.
 func (r *PurchasesService) Get(packageName string, subscriptionId string, token string) *PurchasesGetCall {
-	c := &PurchasesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesGetCall) Fields(s ...googleapi.Field) *PurchasesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -259,13 +262,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PurchasesGetCall) IfNoneMatch(entityTag string) *PurchasesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesGetCall) Context(ctx context.Context) *PurchasesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -273,9 +276,13 @@
 
 func (c *PurchasesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -283,8 +290,8 @@
 		"token":          c.token,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/androidpublisher/v2/androidpublisher-gen.go b/androidpublisher/v2/androidpublisher-gen.go
index 635e24d..dc9ac82 100644
--- a/androidpublisher/v2/androidpublisher-gen.go
+++ b/androidpublisher/v2/androidpublisher-gen.go
@@ -1458,30 +1458,30 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Commit: Commits/applies the changes made in this edit back to the
 // app.
 func (r *EditsService) Commit(packageNameid string, editId string) *EditsCommitCall {
-	c := &EditsCommitCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsCommitCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsCommitCall) Fields(s ...googleapi.Field) *EditsCommitCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsCommitCall) Context(ctx context.Context) *EditsCommitCall {
 	c.ctx_ = ctx
 	return c
@@ -1489,9 +1489,13 @@
 
 func (c *EditsCommitCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}:commit")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -1578,7 +1582,7 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1586,23 +1590,23 @@
 // automatically delete any of your previous edits so this method need
 // only be called if you want to preemptively abandon an edit.
 func (r *EditsService) Delete(packageNameid string, editId string) *EditsDeleteCall {
-	c := &EditsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsDeleteCall) Fields(s ...googleapi.Field) *EditsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsDeleteCall) Context(ctx context.Context) *EditsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1610,9 +1614,13 @@
 
 func (c *EditsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -1672,8 +1680,7 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1681,17 +1688,17 @@
 // the edit is no long active (e.g. has been deleted, superseded or
 // expired).
 func (r *EditsService) Get(packageNameid string, editId string) *EditsGetCall {
-	c := &EditsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsGetCall) Fields(s ...googleapi.Field) *EditsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1701,13 +1708,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsGetCall) IfNoneMatch(entityTag string) *EditsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsGetCall) Context(ctx context.Context) *EditsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1715,17 +1722,21 @@
 
 func (c *EditsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
 		"editId":      c.editId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1807,30 +1818,30 @@
 	s             *Service
 	packageNameid string
 	appedit       *AppEdit
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Creates a new edit for an app, populated with the app's
 // current state.
 func (r *EditsService) Insert(packageNameid string, appedit *AppEdit) *EditsInsertCall {
-	c := &EditsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.appedit = appedit
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsInsertCall) Fields(s ...googleapi.Field) *EditsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsInsertCall) Context(ctx context.Context) *EditsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1843,9 +1854,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -1928,30 +1943,30 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Validate: Checks that the edit can be successfully committed. The
 // edit's changes are not applied to the live app.
 func (r *EditsService) Validate(packageNameid string, editId string) *EditsValidateCall {
-	c := &EditsValidateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsValidateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsValidateCall) Fields(s ...googleapi.Field) *EditsValidateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsValidateCall) Context(ctx context.Context) *EditsValidateCall {
 	c.ctx_ = ctx
 	return c
@@ -1959,9 +1974,13 @@
 
 func (c *EditsValidateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}:validate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -2050,14 +2069,14 @@
 	editId         string
 	apkVersionCode int64
 	language       string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the APK-specific localized listing for a specified
 // APK and language code.
 func (r *EditsApklistingsService) Delete(packageNameid string, editId string, apkVersionCode int64, language string) *EditsApklistingsDeleteCall {
-	c := &EditsApklistingsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApklistingsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -2065,17 +2084,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApklistingsDeleteCall) Fields(s ...googleapi.Field) *EditsApklistingsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApklistingsDeleteCall) Context(ctx context.Context) *EditsApklistingsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2083,9 +2102,13 @@
 
 func (c *EditsApklistingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageNameid,
@@ -2163,31 +2186,31 @@
 	packageNameid  string
 	editId         string
 	apkVersionCode int64
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Deleteall: Deletes all the APK-specific localized listings for a
 // specified APK.
 func (r *EditsApklistingsService) Deleteall(packageNameid string, editId string, apkVersionCode int64) *EditsApklistingsDeleteallCall {
-	c := &EditsApklistingsDeleteallCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApklistingsDeleteallCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApklistingsDeleteallCall) Fields(s ...googleapi.Field) *EditsApklistingsDeleteallCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApklistingsDeleteallCall) Context(ctx context.Context) *EditsApklistingsDeleteallCall {
 	c.ctx_ = ctx
 	return c
@@ -2195,9 +2218,13 @@
 
 func (c *EditsApklistingsDeleteallCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageNameid,
@@ -2268,15 +2295,14 @@
 	editId         string
 	apkVersionCode int64
 	language       string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Fetches the APK-specific localized listing for a specified APK
 // and language code.
 func (r *EditsApklistingsService) Get(packageNameid string, editId string, apkVersionCode int64, language string) *EditsApklistingsGetCall {
-	c := &EditsApklistingsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApklistingsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -2284,11 +2310,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApklistingsGetCall) Fields(s ...googleapi.Field) *EditsApklistingsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2298,13 +2324,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsApklistingsGetCall) IfNoneMatch(entityTag string) *EditsApklistingsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApklistingsGetCall) Context(ctx context.Context) *EditsApklistingsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2312,9 +2338,13 @@
 
 func (c *EditsApklistingsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageNameid,
@@ -2323,8 +2353,8 @@
 		"language":       c.language,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2422,26 +2452,25 @@
 	packageNameid  string
 	editId         string
 	apkVersionCode int64
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // List: Lists all the APK-specific localized listings for a specified
 // APK.
 func (r *EditsApklistingsService) List(packageNameid string, editId string, apkVersionCode int64) *EditsApklistingsListCall {
-	c := &EditsApklistingsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApklistingsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApklistingsListCall) Fields(s ...googleapi.Field) *EditsApklistingsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2451,13 +2480,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsApklistingsListCall) IfNoneMatch(entityTag string) *EditsApklistingsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApklistingsListCall) Context(ctx context.Context) *EditsApklistingsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2465,9 +2494,13 @@
 
 func (c *EditsApklistingsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageNameid,
@@ -2475,8 +2508,8 @@
 		"apkVersionCode": strconv.FormatInt(c.apkVersionCode, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2569,7 +2602,7 @@
 	apkVersionCode int64
 	language       string
 	apklisting     *ApkListing
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -2577,7 +2610,7 @@
 // specified APK and language code. This method supports patch
 // semantics.
 func (r *EditsApklistingsService) Patch(packageNameid string, editId string, apkVersionCode int64, language string, apklisting *ApkListing) *EditsApklistingsPatchCall {
-	c := &EditsApklistingsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApklistingsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -2586,17 +2619,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApklistingsPatchCall) Fields(s ...googleapi.Field) *EditsApklistingsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApklistingsPatchCall) Context(ctx context.Context) *EditsApklistingsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2609,9 +2642,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageNameid,
@@ -2722,14 +2759,14 @@
 	apkVersionCode int64
 	language       string
 	apklisting     *ApkListing
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates or creates the APK-specific localized listing for a
 // specified APK and language code.
 func (r *EditsApklistingsService) Update(packageNameid string, editId string, apkVersionCode int64, language string, apklisting *ApkListing) *EditsApklistingsUpdateCall {
-	c := &EditsApklistingsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApklistingsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -2738,17 +2775,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApklistingsUpdateCall) Fields(s ...googleapi.Field) *EditsApklistingsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApklistingsUpdateCall) Context(ctx context.Context) *EditsApklistingsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2761,9 +2798,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageNameid,
@@ -2872,7 +2913,7 @@
 	packageNameid                  string
 	editId                         string
 	apksaddexternallyhostedrequest *ApksAddExternallyHostedRequest
-	urlParams_                     internal.URLParams
+	opt_                           map[string]interface{}
 	ctx_                           context.Context
 }
 
@@ -2882,24 +2923,24 @@
 // Work whose application is configured to restrict distribution to the
 // enterprise domain.
 func (r *EditsApksService) Addexternallyhosted(packageNameid string, editId string, apksaddexternallyhostedrequest *ApksAddExternallyHostedRequest) *EditsApksAddexternallyhostedCall {
-	c := &EditsApksAddexternallyhostedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApksAddexternallyhostedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apksaddexternallyhostedrequest = apksaddexternallyhostedrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApksAddexternallyhostedCall) Fields(s ...googleapi.Field) *EditsApksAddexternallyhostedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApksAddexternallyhostedCall) Context(ctx context.Context) *EditsApksAddexternallyhostedCall {
 	c.ctx_ = ctx
 	return c
@@ -2912,9 +2953,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/externallyHosted")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -3005,24 +3050,23 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List:
 func (r *EditsApksService) List(packageNameid string, editId string) *EditsApksListCall {
-	c := &EditsApksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApksListCall) Fields(s ...googleapi.Field) *EditsApksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3032,13 +3076,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsApksListCall) IfNoneMatch(entityTag string) *EditsApksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsApksListCall) Context(ctx context.Context) *EditsApksListCall {
 	c.ctx_ = ctx
 	return c
@@ -3046,17 +3090,21 @@
 
 func (c *EditsApksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
 		"editId":      c.editId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3134,40 +3182,39 @@
 // method id "androidpublisher.edits.apks.upload":
 
 type EditsApksUploadCall struct {
-	s                *Service
-	packageNameid    string
-	editId           string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s             *Service
+	packageNameid string
+	editId        string
+	opt_          map[string]interface{}
+	media_        io.Reader
+	resumable_    googleapi.SizeReaderAt
+	mediaType_    string
+	protocol_     string
+	ctx_          context.Context
 }
 
 // Upload:
 func (r *EditsApksService) Upload(packageNameid string, editId string) *EditsApksUploadCall {
-	c := &EditsApksUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsApksUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *EditsApksUploadCall) Media(r io.Reader) *EditsApksUploadCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *EditsApksUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsApksUploadCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3176,28 +3223,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *EditsApksUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsApksUploadCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsApksUploadCall) Fields(s ...googleapi.Field) *EditsApksUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *EditsApksUploadCall) Context(ctx context.Context) *EditsApksUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -3205,13 +3251,17 @@
 
 func (c *EditsApksUploadCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -3267,6 +3317,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3276,7 +3332,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3350,25 +3406,24 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Fetches app details for this edit. This includes the default
 // language and developer support contact information.
 func (r *EditsDetailsService) Get(packageNameid string, editId string) *EditsDetailsGetCall {
-	c := &EditsDetailsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsDetailsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsDetailsGetCall) Fields(s ...googleapi.Field) *EditsDetailsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3378,13 +3433,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsDetailsGetCall) IfNoneMatch(entityTag string) *EditsDetailsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsDetailsGetCall) Context(ctx context.Context) *EditsDetailsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3392,17 +3447,21 @@
 
 func (c *EditsDetailsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/details")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
 		"editId":      c.editId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3485,31 +3544,31 @@
 	packageNameid string
 	editId        string
 	appdetails    *AppDetails
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates app details for this edit. This method supports patch
 // semantics.
 func (r *EditsDetailsService) Patch(packageNameid string, editId string, appdetails *AppDetails) *EditsDetailsPatchCall {
-	c := &EditsDetailsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsDetailsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.appdetails = appdetails
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsDetailsPatchCall) Fields(s ...googleapi.Field) *EditsDetailsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsDetailsPatchCall) Context(ctx context.Context) *EditsDetailsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3522,9 +3581,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/details")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -3616,30 +3679,30 @@
 	packageNameid string
 	editId        string
 	appdetails    *AppDetails
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates app details for this edit.
 func (r *EditsDetailsService) Update(packageNameid string, editId string, appdetails *AppDetails) *EditsDetailsUpdateCall {
-	c := &EditsDetailsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsDetailsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.appdetails = appdetails
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsDetailsUpdateCall) Fields(s ...googleapi.Field) *EditsDetailsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsDetailsUpdateCall) Context(ctx context.Context) *EditsDetailsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3652,9 +3715,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/details")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -3747,14 +3814,13 @@
 	editId            string
 	apkVersionCode    int64
 	expansionFileType string
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Get: Fetches the Expansion File configuration for the APK specified.
 func (r *EditsExpansionfilesService) Get(packageNameid string, editId string, apkVersionCode int64, expansionFileType string) *EditsExpansionfilesGetCall {
-	c := &EditsExpansionfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsExpansionfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -3762,11 +3828,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsExpansionfilesGetCall) Fields(s ...googleapi.Field) *EditsExpansionfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3776,13 +3842,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsExpansionfilesGetCall) IfNoneMatch(entityTag string) *EditsExpansionfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsExpansionfilesGetCall) Context(ctx context.Context) *EditsExpansionfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3790,9 +3856,13 @@
 
 func (c *EditsExpansionfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":       c.packageNameid,
@@ -3801,8 +3871,8 @@
 		"expansionFileType": c.expansionFileType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3909,7 +3979,7 @@
 	apkVersionCode    int64
 	expansionFileType string
 	expansionfile     *ExpansionFile
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -3917,7 +3987,7 @@
 // another APK's Expansion Files. To add a new Expansion File use the
 // Upload method. This method supports patch semantics.
 func (r *EditsExpansionfilesService) Patch(packageNameid string, editId string, apkVersionCode int64, expansionFileType string, expansionfile *ExpansionFile) *EditsExpansionfilesPatchCall {
-	c := &EditsExpansionfilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsExpansionfilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -3926,17 +3996,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsExpansionfilesPatchCall) Fields(s ...googleapi.Field) *EditsExpansionfilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsExpansionfilesPatchCall) Context(ctx context.Context) *EditsExpansionfilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3949,9 +4019,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":       c.packageNameid,
@@ -4069,7 +4143,7 @@
 	apkVersionCode    int64
 	expansionFileType string
 	expansionfile     *ExpansionFile
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -4077,7 +4151,7 @@
 // another APK's Expansion Files. To add a new Expansion File use the
 // Upload method.
 func (r *EditsExpansionfilesService) Update(packageNameid string, editId string, apkVersionCode int64, expansionFileType string, expansionfile *ExpansionFile) *EditsExpansionfilesUpdateCall {
-	c := &EditsExpansionfilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsExpansionfilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -4086,17 +4160,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsExpansionfilesUpdateCall) Fields(s ...googleapi.Field) *EditsExpansionfilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsExpansionfilesUpdateCall) Context(ctx context.Context) *EditsExpansionfilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4109,9 +4183,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":       c.packageNameid,
@@ -4228,19 +4306,18 @@
 	editId            string
 	apkVersionCode    int64
 	expansionFileType string
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	media_            io.Reader
 	resumable_        googleapi.SizeReaderAt
 	mediaType_        string
 	protocol_         string
-	progressUpdater_  googleapi.ProgressUpdater
 	ctx_              context.Context
 }
 
 // Upload: Uploads and attaches a new Expansion File to the APK
 // specified.
 func (r *EditsExpansionfilesService) Upload(packageNameid string, editId string, apkVersionCode int64, expansionFileType string) *EditsExpansionfilesUploadCall {
-	c := &EditsExpansionfilesUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsExpansionfilesUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.apkVersionCode = apkVersionCode
@@ -4248,20 +4325,20 @@
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *EditsExpansionfilesUploadCall) Media(r io.Reader) *EditsExpansionfilesUploadCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *EditsExpansionfilesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsExpansionfilesUploadCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -4270,28 +4347,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *EditsExpansionfilesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsExpansionfilesUploadCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsExpansionfilesUploadCall) Fields(s ...googleapi.Field) *EditsExpansionfilesUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *EditsExpansionfilesUploadCall) Context(ctx context.Context) *EditsExpansionfilesUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -4299,13 +4375,17 @@
 
 func (c *EditsExpansionfilesUploadCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -4363,6 +4443,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -4372,7 +4458,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -4471,13 +4557,13 @@
 	language      string
 	imageType     string
 	imageId       string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes the image (specified by id) from the edit.
 func (r *EditsImagesService) Delete(packageNameid string, editId string, language string, imageType string, imageId string) *EditsImagesDeleteCall {
-	c := &EditsImagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsImagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
@@ -4486,17 +4572,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsImagesDeleteCall) Fields(s ...googleapi.Field) *EditsImagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsImagesDeleteCall) Context(ctx context.Context) *EditsImagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4504,9 +4590,13 @@
 
 func (c *EditsImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -4613,14 +4703,14 @@
 	editId        string
 	language      string
 	imageType     string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Deleteall: Deletes all images for the specified language and image
 // type.
 func (r *EditsImagesService) Deleteall(packageNameid string, editId string, language string, imageType string) *EditsImagesDeleteallCall {
-	c := &EditsImagesDeleteallCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsImagesDeleteallCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
@@ -4628,17 +4718,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsImagesDeleteallCall) Fields(s ...googleapi.Field) *EditsImagesDeleteallCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsImagesDeleteallCall) Context(ctx context.Context) *EditsImagesDeleteallCall {
 	c.ctx_ = ctx
 	return c
@@ -4646,9 +4736,13 @@
 
 func (c *EditsImagesDeleteallCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}/{imageType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -4774,14 +4868,13 @@
 	editId        string
 	language      string
 	imageType     string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists all images for the specified language and image type.
 func (r *EditsImagesService) List(packageNameid string, editId string, language string, imageType string) *EditsImagesListCall {
-	c := &EditsImagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsImagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
@@ -4789,11 +4882,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsImagesListCall) Fields(s ...googleapi.Field) *EditsImagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4803,13 +4896,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsImagesListCall) IfNoneMatch(entityTag string) *EditsImagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsImagesListCall) Context(ctx context.Context) *EditsImagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -4817,9 +4910,13 @@
 
 func (c *EditsImagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}/{imageType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -4828,8 +4925,8 @@
 		"imageType":   c.imageType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4943,24 +5040,23 @@
 // method id "androidpublisher.edits.images.upload":
 
 type EditsImagesUploadCall struct {
-	s                *Service
-	packageNameid    string
-	editId           string
-	language         string
-	imageType        string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s             *Service
+	packageNameid string
+	editId        string
+	language      string
+	imageType     string
+	opt_          map[string]interface{}
+	media_        io.Reader
+	resumable_    googleapi.SizeReaderAt
+	mediaType_    string
+	protocol_     string
+	ctx_          context.Context
 }
 
 // Upload: Uploads a new image and adds it to the list of images for the
 // specified language and image type.
 func (r *EditsImagesService) Upload(packageNameid string, editId string, language string, imageType string) *EditsImagesUploadCall {
-	c := &EditsImagesUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsImagesUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
@@ -4968,20 +5064,20 @@
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *EditsImagesUploadCall) Media(r io.Reader) *EditsImagesUploadCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *EditsImagesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsImagesUploadCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -4990,28 +5086,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *EditsImagesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsImagesUploadCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsImagesUploadCall) Fields(s ...googleapi.Field) *EditsImagesUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *EditsImagesUploadCall) Context(ctx context.Context) *EditsImagesUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -5019,13 +5114,17 @@
 
 func (c *EditsImagesUploadCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}/{imageType}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -5083,6 +5182,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -5092,7 +5197,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -5202,30 +5307,30 @@
 	packageNameid string
 	editId        string
 	language      string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes the specified localized store listing from an edit.
 func (r *EditsListingsService) Delete(packageNameid string, editId string, language string) *EditsListingsDeleteCall {
-	c := &EditsListingsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsListingsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsListingsDeleteCall) Fields(s ...googleapi.Field) *EditsListingsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsListingsDeleteCall) Context(ctx context.Context) *EditsListingsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5233,9 +5338,13 @@
 
 func (c *EditsListingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -5303,29 +5412,29 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Deleteall: Deletes all localized listings from an edit.
 func (r *EditsListingsService) Deleteall(packageNameid string, editId string) *EditsListingsDeleteallCall {
-	c := &EditsListingsDeleteallCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsListingsDeleteallCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsListingsDeleteallCall) Fields(s ...googleapi.Field) *EditsListingsDeleteallCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsListingsDeleteallCall) Context(ctx context.Context) *EditsListingsDeleteallCall {
 	c.ctx_ = ctx
 	return c
@@ -5333,9 +5442,13 @@
 
 func (c *EditsListingsDeleteallCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -5396,25 +5509,24 @@
 	packageNameid string
 	editId        string
 	language      string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Fetches information about a localized store listing.
 func (r *EditsListingsService) Get(packageNameid string, editId string, language string) *EditsListingsGetCall {
-	c := &EditsListingsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsListingsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsListingsGetCall) Fields(s ...googleapi.Field) *EditsListingsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5424,13 +5536,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsListingsGetCall) IfNoneMatch(entityTag string) *EditsListingsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsListingsGetCall) Context(ctx context.Context) *EditsListingsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5438,9 +5550,13 @@
 
 func (c *EditsListingsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -5448,8 +5564,8 @@
 		"language":    c.language,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5538,25 +5654,24 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Returns all of the localized store listings attached to this
 // edit.
 func (r *EditsListingsService) List(packageNameid string, editId string) *EditsListingsListCall {
-	c := &EditsListingsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsListingsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsListingsListCall) Fields(s ...googleapi.Field) *EditsListingsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5566,13 +5681,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsListingsListCall) IfNoneMatch(entityTag string) *EditsListingsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsListingsListCall) Context(ctx context.Context) *EditsListingsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5580,17 +5695,21 @@
 
 func (c *EditsListingsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
 		"editId":      c.editId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5674,14 +5793,14 @@
 	editId        string
 	language      string
 	listing       *Listing
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Creates or updates a localized store listing. This method
 // supports patch semantics.
 func (r *EditsListingsService) Patch(packageNameid string, editId string, language string, listing *Listing) *EditsListingsPatchCall {
-	c := &EditsListingsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsListingsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
@@ -5689,17 +5808,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsListingsPatchCall) Fields(s ...googleapi.Field) *EditsListingsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsListingsPatchCall) Context(ctx context.Context) *EditsListingsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5712,9 +5831,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -5815,13 +5938,13 @@
 	editId        string
 	language      string
 	listing       *Listing
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Creates or updates a localized store listing.
 func (r *EditsListingsService) Update(packageNameid string, editId string, language string, listing *Listing) *EditsListingsUpdateCall {
-	c := &EditsListingsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsListingsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.language = language
@@ -5829,17 +5952,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsListingsUpdateCall) Fields(s ...googleapi.Field) *EditsListingsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsListingsUpdateCall) Context(ctx context.Context) *EditsListingsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5852,9 +5975,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -5954,25 +6081,24 @@
 	packageNameid string
 	editId        string
 	track         string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get:
 func (r *EditsTestersService) Get(packageNameid string, editId string, track string) *EditsTestersGetCall {
-	c := &EditsTestersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTestersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.track = track
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTestersGetCall) Fields(s ...googleapi.Field) *EditsTestersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5982,13 +6108,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsTestersGetCall) IfNoneMatch(entityTag string) *EditsTestersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTestersGetCall) Context(ctx context.Context) *EditsTestersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5996,9 +6122,13 @@
 
 func (c *EditsTestersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/testers/{track}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -6006,8 +6136,8 @@
 		"track":       c.track,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6108,13 +6238,13 @@
 	editId        string
 	track         string
 	testers       *Testers
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch:
 func (r *EditsTestersService) Patch(packageNameid string, editId string, track string, testers *Testers) *EditsTestersPatchCall {
-	c := &EditsTestersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTestersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.track = track
@@ -6122,17 +6252,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTestersPatchCall) Fields(s ...googleapi.Field) *EditsTestersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTestersPatchCall) Context(ctx context.Context) *EditsTestersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6145,9 +6275,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/testers/{track}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -6258,13 +6392,13 @@
 	editId        string
 	track         string
 	testers       *Testers
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update:
 func (r *EditsTestersService) Update(packageNameid string, editId string, track string, testers *Testers) *EditsTestersUpdateCall {
-	c := &EditsTestersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTestersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.track = track
@@ -6272,17 +6406,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTestersUpdateCall) Fields(s ...googleapi.Field) *EditsTestersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTestersUpdateCall) Context(ctx context.Context) *EditsTestersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6295,9 +6429,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/testers/{track}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -6407,26 +6545,25 @@
 	packageNameid string
 	editId        string
 	track         string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Fetches the track configuration for the specified track type.
 // Includes the APK version codes that are in this track.
 func (r *EditsTracksService) Get(packageNameid string, editId string, track string) *EditsTracksGetCall {
-	c := &EditsTracksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTracksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.track = track
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTracksGetCall) Fields(s ...googleapi.Field) *EditsTracksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6436,13 +6573,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsTracksGetCall) IfNoneMatch(entityTag string) *EditsTracksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTracksGetCall) Context(ctx context.Context) *EditsTracksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6450,9 +6587,13 @@
 
 func (c *EditsTracksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/tracks/{track}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -6460,8 +6601,8 @@
 		"track":       c.track,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6562,24 +6703,23 @@
 	s             *Service
 	packageNameid string
 	editId        string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists all the track configurations for this edit.
 func (r *EditsTracksService) List(packageNameid string, editId string) *EditsTracksListCall {
-	c := &EditsTracksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTracksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTracksListCall) Fields(s ...googleapi.Field) *EditsTracksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6589,13 +6729,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EditsTracksListCall) IfNoneMatch(entityTag string) *EditsTracksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTracksListCall) Context(ctx context.Context) *EditsTracksListCall {
 	c.ctx_ = ctx
 	return c
@@ -6603,17 +6743,21 @@
 
 func (c *EditsTracksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/tracks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
 		"editId":      c.editId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6697,7 +6841,7 @@
 	editId        string
 	track         string
 	track2        *Track
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -6706,7 +6850,7 @@
 // APKs, and adding new APKs will cause it to resume. This method
 // supports patch semantics.
 func (r *EditsTracksService) Patch(packageNameid string, editId string, track string, track2 *Track) *EditsTracksPatchCall {
-	c := &EditsTracksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTracksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.track = track
@@ -6714,17 +6858,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTracksPatchCall) Fields(s ...googleapi.Field) *EditsTracksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTracksPatchCall) Context(ctx context.Context) *EditsTracksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6737,9 +6881,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/tracks/{track}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -6852,7 +7000,7 @@
 	editId        string
 	track         string
 	track2        *Track
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -6860,7 +7008,7 @@
 // When halted, the rollout track cannot be updated without adding new
 // APKs, and adding new APKs will cause it to resume.
 func (r *EditsTracksService) Update(packageNameid string, editId string, track string, track2 *Track) *EditsTracksUpdateCall {
-	c := &EditsTracksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EditsTracksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.editId = editId
 	c.track = track
@@ -6868,17 +7016,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EditsTracksUpdateCall) Fields(s ...googleapi.Field) *EditsTracksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EditsTracksUpdateCall) Context(ctx context.Context) *EditsTracksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6891,9 +7039,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/tracks/{track}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -7001,24 +7153,23 @@
 // method id "androidpublisher.entitlements.list":
 
 type EntitlementsListCall struct {
-	s            *Service
-	packageName  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	packageName string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists the user's current inapp item or subscription
 // entitlements
 func (r *EntitlementsService) List(packageName string) *EntitlementsListCall {
-	c := &EntitlementsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EntitlementsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults":
 func (c *EntitlementsListCall) MaxResults(maxResults int64) *EntitlementsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7026,27 +7177,27 @@
 // the inapp product (for example, 'sku1'). This can be used to restrict
 // the result set.
 func (c *EntitlementsListCall) ProductId(productId string) *EntitlementsListCall {
-	c.urlParams_.Set("productId", productId)
+	c.opt_["productId"] = productId
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex":
 func (c *EntitlementsListCall) StartIndex(startIndex int64) *EntitlementsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
 // Token sets the optional parameter "token":
 func (c *EntitlementsListCall) Token(token string) *EntitlementsListCall {
-	c.urlParams_.Set("token", token)
+	c.opt_["token"] = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EntitlementsListCall) Fields(s ...googleapi.Field) *EntitlementsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7056,13 +7207,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EntitlementsListCall) IfNoneMatch(entityTag string) *EntitlementsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EntitlementsListCall) Context(ctx context.Context) *EntitlementsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7070,16 +7221,32 @@
 
 func (c *EntitlementsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["productId"]; ok {
+		params.Set("productId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["token"]; ok {
+		params.Set("token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/entitlements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7169,28 +7336,28 @@
 type InappproductsBatchCall struct {
 	s                         *Service
 	inappproductsbatchrequest *InappproductsBatchRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // Batch:
 func (r *InappproductsService) Batch(inappproductsbatchrequest *InappproductsBatchRequest) *InappproductsBatchCall {
-	c := &InappproductsBatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsBatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.inappproductsbatchrequest = inappproductsbatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsBatchCall) Fields(s ...googleapi.Field) *InappproductsBatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsBatchCall) Context(ctx context.Context) *InappproductsBatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7203,9 +7370,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "inappproducts/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7274,29 +7445,29 @@
 	s             *Service
 	packageNameid string
 	skuid         string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Delete an in-app product for an app.
 func (r *InappproductsService) Delete(packageNameid string, skuid string) *InappproductsDeleteCall {
-	c := &InappproductsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.skuid = skuid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsDeleteCall) Fields(s ...googleapi.Field) *InappproductsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsDeleteCall) Context(ctx context.Context) *InappproductsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7304,9 +7475,13 @@
 
 func (c *InappproductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inappproducts/{sku}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -7363,27 +7538,26 @@
 // method id "androidpublisher.inappproducts.get":
 
 type InappproductsGetCall struct {
-	s            *Service
-	packageName  string
-	skuid        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	packageName string
+	skuid       string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Returns information about the in-app product specified.
 func (r *InappproductsService) Get(packageName string, skuid string) *InappproductsGetCall {
-	c := &InappproductsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.skuid = skuid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsGetCall) Fields(s ...googleapi.Field) *InappproductsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7393,13 +7567,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InappproductsGetCall) IfNoneMatch(entityTag string) *InappproductsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsGetCall) Context(ctx context.Context) *InappproductsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7407,17 +7581,21 @@
 
 func (c *InappproductsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inappproducts/{sku}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageName,
 		"sku":         c.skuid,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7498,13 +7676,13 @@
 	s             *Service
 	packageNameid string
 	inappproduct  *InAppProduct
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Creates a new in-app product for an app.
 func (r *InappproductsService) Insert(packageNameid string, inappproduct *InAppProduct) *InappproductsInsertCall {
-	c := &InappproductsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.inappproduct = inappproduct
 	return c
@@ -7516,21 +7694,21 @@
 // in-app product will be auto converted to the target currency based on
 // the default price. Defaults to false.
 func (c *InappproductsInsertCall) AutoConvertMissingPrices(autoConvertMissingPrices bool) *InappproductsInsertCall {
-	c.urlParams_.Set("autoConvertMissingPrices", fmt.Sprintf("%v", autoConvertMissingPrices))
+	c.opt_["autoConvertMissingPrices"] = autoConvertMissingPrices
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsInsertCall) Fields(s ...googleapi.Field) *InappproductsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsInsertCall) Context(ctx context.Context) *InappproductsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7543,9 +7721,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["autoConvertMissingPrices"]; ok {
+		params.Set("autoConvertMissingPrices", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inappproducts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -7632,42 +7817,41 @@
 type InappproductsListCall struct {
 	s             *Service
 	packageNameid string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: List all the in-app products for an Android app, both
 // subscriptions and managed in-app products..
 func (r *InappproductsService) List(packageNameid string) *InappproductsListCall {
-	c := &InappproductsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults":
 func (c *InappproductsListCall) MaxResults(maxResults int64) *InappproductsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex":
 func (c *InappproductsListCall) StartIndex(startIndex int64) *InappproductsListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
 // Token sets the optional parameter "token":
 func (c *InappproductsListCall) Token(token string) *InappproductsListCall {
-	c.urlParams_.Set("token", token)
+	c.opt_["token"] = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsListCall) Fields(s ...googleapi.Field) *InappproductsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7677,13 +7861,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InappproductsListCall) IfNoneMatch(entityTag string) *InappproductsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsListCall) Context(ctx context.Context) *InappproductsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7691,16 +7875,29 @@
 
 func (c *InappproductsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["token"]; ok {
+		params.Set("token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inappproducts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7790,14 +7987,14 @@
 	packageNameid string
 	skuid         string
 	inappproduct  *InAppProduct
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates the details of an in-app product. This method supports
 // patch semantics.
 func (r *InappproductsService) Patch(packageNameid string, skuid string, inappproduct *InAppProduct) *InappproductsPatchCall {
-	c := &InappproductsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.skuid = skuid
 	c.inappproduct = inappproduct
@@ -7810,21 +8007,21 @@
 // in-app product will be auto converted to the target currency based on
 // the default price. Defaults to false.
 func (c *InappproductsPatchCall) AutoConvertMissingPrices(autoConvertMissingPrices bool) *InappproductsPatchCall {
-	c.urlParams_.Set("autoConvertMissingPrices", fmt.Sprintf("%v", autoConvertMissingPrices))
+	c.opt_["autoConvertMissingPrices"] = autoConvertMissingPrices
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsPatchCall) Fields(s ...googleapi.Field) *InappproductsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsPatchCall) Context(ctx context.Context) *InappproductsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7837,9 +8034,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["autoConvertMissingPrices"]; ok {
+		params.Set("autoConvertMissingPrices", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inappproducts/{sku}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -7936,13 +8140,13 @@
 	packageNameid string
 	skuid         string
 	inappproduct  *InAppProduct
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates the details of an in-app product.
 func (r *InappproductsService) Update(packageNameid string, skuid string, inappproduct *InAppProduct) *InappproductsUpdateCall {
-	c := &InappproductsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InappproductsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageNameid = packageNameid
 	c.skuid = skuid
 	c.inappproduct = inappproduct
@@ -7955,21 +8159,21 @@
 // in-app product will be auto converted to the target currency based on
 // the default price. Defaults to false.
 func (c *InappproductsUpdateCall) AutoConvertMissingPrices(autoConvertMissingPrices bool) *InappproductsUpdateCall {
-	c.urlParams_.Set("autoConvertMissingPrices", fmt.Sprintf("%v", autoConvertMissingPrices))
+	c.opt_["autoConvertMissingPrices"] = autoConvertMissingPrices
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InappproductsUpdateCall) Fields(s ...googleapi.Field) *InappproductsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InappproductsUpdateCall) Context(ctx context.Context) *InappproductsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7982,9 +8186,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["autoConvertMissingPrices"]; ok {
+		params.Set("autoConvertMissingPrices", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inappproducts/{sku}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageNameid,
@@ -8077,29 +8288,28 @@
 // method id "androidpublisher.purchases.products.get":
 
 type PurchasesProductsGetCall struct {
-	s            *Service
-	packageName  string
-	productId    string
-	token        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	packageName string
+	productId   string
+	token       string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Checks the purchase and consumption status of an inapp item.
 func (r *PurchasesProductsService) Get(packageName string, productId string, token string) *PurchasesProductsGetCall {
-	c := &PurchasesProductsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesProductsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.productId = productId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesProductsGetCall) Fields(s ...googleapi.Field) *PurchasesProductsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8109,13 +8319,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PurchasesProductsGetCall) IfNoneMatch(entityTag string) *PurchasesProductsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesProductsGetCall) Context(ctx context.Context) *PurchasesProductsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8123,9 +8333,13 @@
 
 func (c *PurchasesProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/purchases/products/{productId}/tokens/{token}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName": c.packageName,
@@ -8133,8 +8347,8 @@
 		"token":       c.token,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8224,31 +8438,31 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Cancel: Cancels a user's subscription purchase. The subscription
 // remains valid until its expiration time.
 func (r *PurchasesSubscriptionsService) Cancel(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsCancelCall {
-	c := &PurchasesSubscriptionsCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesSubscriptionsCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesSubscriptionsCancelCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesSubscriptionsCancelCall) Context(ctx context.Context) *PurchasesSubscriptionsCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -8256,9 +8470,13 @@
 
 func (c *PurchasesSubscriptionsCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -8328,14 +8546,14 @@
 	subscriptionId                    string
 	token                             string
 	subscriptionpurchasesdeferrequest *SubscriptionPurchasesDeferRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // Defer: Defers a user's subscription purchase until a specified future
 // expiration time.
 func (r *PurchasesSubscriptionsService) Defer(packageName string, subscriptionId string, token string, subscriptionpurchasesdeferrequest *SubscriptionPurchasesDeferRequest) *PurchasesSubscriptionsDeferCall {
-	c := &PurchasesSubscriptionsDeferCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesSubscriptionsDeferCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
@@ -8343,17 +8561,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesSubscriptionsDeferCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsDeferCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesSubscriptionsDeferCall) Context(ctx context.Context) *PurchasesSubscriptionsDeferCall {
 	c.ctx_ = ctx
 	return c
@@ -8366,9 +8584,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -8469,26 +8691,25 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Checks whether a user's subscription purchase is valid and
 // returns its expiry time.
 func (r *PurchasesSubscriptionsService) Get(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsGetCall {
-	c := &PurchasesSubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesSubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesSubscriptionsGetCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8498,13 +8719,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PurchasesSubscriptionsGetCall) IfNoneMatch(entityTag string) *PurchasesSubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesSubscriptionsGetCall) Context(ctx context.Context) *PurchasesSubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8512,9 +8733,13 @@
 
 func (c *PurchasesSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -8522,8 +8747,8 @@
 		"token":          c.token,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8613,7 +8838,7 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -8621,24 +8846,24 @@
 // remains valid until its expiration time and it will continue to
 // recur.
 func (r *PurchasesSubscriptionsService) Refund(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsRefundCall {
-	c := &PurchasesSubscriptionsRefundCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesSubscriptionsRefundCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesSubscriptionsRefundCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsRefundCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesSubscriptionsRefundCall) Context(ctx context.Context) *PurchasesSubscriptionsRefundCall {
 	c.ctx_ = ctx
 	return c
@@ -8646,9 +8871,13 @@
 
 func (c *PurchasesSubscriptionsRefundCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
@@ -8717,7 +8946,7 @@
 	packageName    string
 	subscriptionId string
 	token          string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -8725,24 +8954,24 @@
 // purchase. Access to the subscription will be terminated immediately
 // and it will stop recurring.
 func (r *PurchasesSubscriptionsService) Revoke(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsRevokeCall {
-	c := &PurchasesSubscriptionsRevokeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PurchasesSubscriptionsRevokeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.packageName = packageName
 	c.subscriptionId = subscriptionId
 	c.token = token
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PurchasesSubscriptionsRevokeCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsRevokeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PurchasesSubscriptionsRevokeCall) Context(ctx context.Context) *PurchasesSubscriptionsRevokeCall {
 	c.ctx_ = ctx
 	return c
@@ -8750,9 +8979,13 @@
 
 func (c *PurchasesSubscriptionsRevokeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"packageName":    c.packageName,
diff --git a/appengine/v1beta4/appengine-gen.go b/appengine/v1beta4/appengine-gen.go
index 6897dcf..dbc54ef 100644
--- a/appengine/v1beta4/appengine-gen.go
+++ b/appengine/v1beta4/appengine-gen.go
@@ -1417,16 +1417,15 @@
 // method id "appengine.apps.get":
 
 type AppsGetCall struct {
-	s            *Service
-	appsId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	appsId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets information about an application.
 func (r *AppsService) Get(appsId string) *AppsGetCall {
-	c := &AppsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	return c
 }
@@ -1438,15 +1437,15 @@
 // and any resources cloud not be created, the request will fail with an
 // error code.
 func (c *AppsGetCall) EnsureResourcesExist(ensureResourcesExist bool) *AppsGetCall {
-	c.urlParams_.Set("ensureResourcesExist", fmt.Sprintf("%v", ensureResourcesExist))
+	c.opt_["ensureResourcesExist"] = ensureResourcesExist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsGetCall) Fields(s ...googleapi.Field) *AppsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1456,13 +1455,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsGetCall) IfNoneMatch(entityTag string) *AppsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsGetCall) Context(ctx context.Context) *AppsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1470,16 +1469,23 @@
 
 func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ensureResourcesExist"]; ok {
+		params.Set("ensureResourcesExist", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId": c.appsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1556,32 +1562,32 @@
 // method id "appengine.apps.modules.delete":
 
 type AppsModulesDeleteCall struct {
-	s          *Service
-	appsId     string
-	modulesId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	appsId    string
+	modulesId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a module and all enclosed versions.
 func (r *AppsModulesService) Delete(appsId string, modulesId string) *AppsModulesDeleteCall {
-	c := &AppsModulesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesDeleteCall) Fields(s ...googleapi.Field) *AppsModulesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesDeleteCall) Context(ctx context.Context) *AppsModulesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1589,9 +1595,13 @@
 
 func (c *AppsModulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":    c.appsId,
@@ -1675,27 +1685,26 @@
 // method id "appengine.apps.modules.get":
 
 type AppsModulesGetCall struct {
-	s            *Service
-	appsId       string
-	modulesId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	appsId    string
+	modulesId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets the current configuration of the module.
 func (r *AppsModulesService) Get(appsId string, modulesId string) *AppsModulesGetCall {
-	c := &AppsModulesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesGetCall) Fields(s ...googleapi.Field) *AppsModulesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1705,13 +1714,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsModulesGetCall) IfNoneMatch(entityTag string) *AppsModulesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesGetCall) Context(ctx context.Context) *AppsModulesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1719,17 +1728,21 @@
 
 func (c *AppsModulesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":    c.appsId,
 		"modulesId": c.modulesId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1808,16 +1821,15 @@
 // method id "appengine.apps.modules.list":
 
 type AppsModulesListCall struct {
-	s            *Service
-	appsId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	appsId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists all the modules in the application.
 func (r *AppsModulesService) List(appsId string) *AppsModulesListCall {
-	c := &AppsModulesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	return c
 }
@@ -1825,22 +1837,22 @@
 // PageSize sets the optional parameter "pageSize": Maximum results to
 // return per page.
 func (c *AppsModulesListCall) PageSize(pageSize int64) *AppsModulesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // for fetching the next page of results.
 func (c *AppsModulesListCall) PageToken(pageToken string) *AppsModulesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesListCall) Fields(s ...googleapi.Field) *AppsModulesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1850,13 +1862,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsModulesListCall) IfNoneMatch(entityTag string) *AppsModulesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesListCall) Context(ctx context.Context) *AppsModulesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1864,16 +1876,26 @@
 
 func (c *AppsModulesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId": c.appsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1956,17 +1978,17 @@
 // method id "appengine.apps.modules.patch":
 
 type AppsModulesPatchCall struct {
-	s          *Service
-	appsId     string
-	modulesId  string
-	module     *Module
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	appsId    string
+	modulesId string
+	module    *Module
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates the configuration of the specified module.
 func (r *AppsModulesService) Patch(appsId string, modulesId string, module *Module) *AppsModulesPatchCall {
-	c := &AppsModulesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	c.module = module
@@ -1976,7 +1998,7 @@
 // Mask sets the optional parameter "mask": Standard field mask for the
 // set of fields to be updated.
 func (c *AppsModulesPatchCall) Mask(mask string) *AppsModulesPatchCall {
-	c.urlParams_.Set("mask", mask)
+	c.opt_["mask"] = mask
 	return c
 }
 
@@ -1984,21 +2006,21 @@
 // to use Traffic Migration to shift traffic gradually. Traffic can only
 // be migrated from a single version to another single version.
 func (c *AppsModulesPatchCall) MigrateTraffic(migrateTraffic bool) *AppsModulesPatchCall {
-	c.urlParams_.Set("migrateTraffic", fmt.Sprintf("%v", migrateTraffic))
+	c.opt_["migrateTraffic"] = migrateTraffic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesPatchCall) Fields(s ...googleapi.Field) *AppsModulesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesPatchCall) Context(ctx context.Context) *AppsModulesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2011,9 +2033,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["mask"]; ok {
+		params.Set("mask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["migrateTraffic"]; ok {
+		params.Set("migrateTraffic", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":    c.appsId,
@@ -2111,34 +2143,34 @@
 // method id "appengine.apps.modules.versions.create":
 
 type AppsModulesVersionsCreateCall struct {
-	s          *Service
-	appsId     string
-	modulesId  string
-	version    *Version
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	appsId    string
+	modulesId string
+	version   *Version
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Create: Deploys new code and resource files to a version.
 func (r *AppsModulesVersionsService) Create(appsId string, modulesId string, version *Version) *AppsModulesVersionsCreateCall {
-	c := &AppsModulesVersionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesVersionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	c.version = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesVersionsCreateCall) Fields(s ...googleapi.Field) *AppsModulesVersionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesVersionsCreateCall) Context(ctx context.Context) *AppsModulesVersionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2151,9 +2183,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}/versions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":    c.appsId,
@@ -2245,30 +2281,30 @@
 	appsId     string
 	modulesId  string
 	versionsId string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an existing version.
 func (r *AppsModulesVersionsService) Delete(appsId string, modulesId string, versionsId string) *AppsModulesVersionsDeleteCall {
-	c := &AppsModulesVersionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesVersionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	c.versionsId = versionsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesVersionsDeleteCall) Fields(s ...googleapi.Field) *AppsModulesVersionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesVersionsDeleteCall) Context(ctx context.Context) *AppsModulesVersionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2276,9 +2312,13 @@
 
 func (c *AppsModulesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":     c.appsId,
@@ -2370,18 +2410,17 @@
 // method id "appengine.apps.modules.versions.get":
 
 type AppsModulesVersionsGetCall struct {
-	s            *Service
-	appsId       string
-	modulesId    string
-	versionsId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	appsId     string
+	modulesId  string
+	versionsId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets application deployment information.
 func (r *AppsModulesVersionsService) Get(appsId string, modulesId string, versionsId string) *AppsModulesVersionsGetCall {
-	c := &AppsModulesVersionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesVersionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	c.versionsId = versionsId
@@ -2395,15 +2434,15 @@
 //   "BASIC"
 //   "FULL"
 func (c *AppsModulesVersionsGetCall) View(view string) *AppsModulesVersionsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesVersionsGetCall) Fields(s ...googleapi.Field) *AppsModulesVersionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2413,13 +2452,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsModulesVersionsGetCall) IfNoneMatch(entityTag string) *AppsModulesVersionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesVersionsGetCall) Context(ctx context.Context) *AppsModulesVersionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2427,9 +2466,16 @@
 
 func (c *AppsModulesVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":     c.appsId,
@@ -2437,8 +2483,8 @@
 		"versionsId": c.versionsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2533,17 +2579,16 @@
 // method id "appengine.apps.modules.versions.list":
 
 type AppsModulesVersionsListCall struct {
-	s            *Service
-	appsId       string
-	modulesId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	appsId    string
+	modulesId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists the versions of a module.
 func (r *AppsModulesVersionsService) List(appsId string, modulesId string) *AppsModulesVersionsListCall {
-	c := &AppsModulesVersionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsModulesVersionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.modulesId = modulesId
 	return c
@@ -2552,14 +2597,14 @@
 // PageSize sets the optional parameter "pageSize": Maximum results to
 // return per page.
 func (c *AppsModulesVersionsListCall) PageSize(pageSize int64) *AppsModulesVersionsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // for fetching the next page of results.
 func (c *AppsModulesVersionsListCall) PageToken(pageToken string) *AppsModulesVersionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2570,15 +2615,15 @@
 //   "BASIC"
 //   "FULL"
 func (c *AppsModulesVersionsListCall) View(view string) *AppsModulesVersionsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsModulesVersionsListCall) Fields(s ...googleapi.Field) *AppsModulesVersionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2588,13 +2633,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsModulesVersionsListCall) IfNoneMatch(entityTag string) *AppsModulesVersionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsModulesVersionsListCall) Context(ctx context.Context) *AppsModulesVersionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2602,17 +2647,30 @@
 
 func (c *AppsModulesVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/modules/{modulesId}/versions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":    c.appsId,
 		"modulesId": c.modulesId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2714,8 +2772,7 @@
 	s            *Service
 	appsId       string
 	operationsId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2723,17 +2780,17 @@
 // use this method to poll the operation result at intervals as
 // recommended by the API service.
 func (r *AppsOperationsService) Get(appsId string, operationsId string) *AppsOperationsGetCall {
-	c := &AppsOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	c.operationsId = operationsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsOperationsGetCall) Fields(s ...googleapi.Field) *AppsOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2743,13 +2800,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsOperationsGetCall) IfNoneMatch(entityTag string) *AppsOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsOperationsGetCall) Context(ctx context.Context) *AppsOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2757,17 +2814,21 @@
 
 func (c *AppsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/operations/{operationsId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId":       c.appsId,
 		"operationsId": c.operationsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2846,11 +2907,10 @@
 // method id "appengine.apps.operations.list":
 
 type AppsOperationsListCall struct {
-	s            *Service
-	appsId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	appsId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists operations that match the specified filter in the
@@ -2859,7 +2919,7 @@
 // to override the binding to use different resource name schemes, such
 // as `users/*/operations`.
 func (r *AppsOperationsService) List(appsId string) *AppsOperationsListCall {
-	c := &AppsOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appsId = appsId
 	return c
 }
@@ -2867,29 +2927,29 @@
 // Filter sets the optional parameter "filter": The standard list
 // filter.
 func (c *AppsOperationsListCall) Filter(filter string) *AppsOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The standard list
 // page size.
 func (c *AppsOperationsListCall) PageSize(pageSize int64) *AppsOperationsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The standard list
 // page token.
 func (c *AppsOperationsListCall) PageToken(pageToken string) *AppsOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsOperationsListCall) Fields(s ...googleapi.Field) *AppsOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2899,13 +2959,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsOperationsListCall) IfNoneMatch(entityTag string) *AppsOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsOperationsListCall) Context(ctx context.Context) *AppsOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2913,16 +2973,29 @@
 
 func (c *AppsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta4/apps/{appsId}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appsId": c.appsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/appsactivity/v1/appsactivity-gen.go b/appsactivity/v1/appsactivity-gen.go
index 2f70e15..1158ca9 100644
--- a/appsactivity/v1/appsactivity-gen.go
+++ b/appsactivity/v1/appsactivity-gen.go
@@ -456,10 +456,9 @@
 // method id "appsactivity.activities.list":
 
 type ActivitiesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of activities visible to the current logged in
@@ -469,7 +468,7 @@
 // they are similar. A request is scoped to activities from a given
 // Google service using the source parameter.
 func (r *ActivitiesService) List() *ActivitiesListCall {
-	c := &ActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -477,14 +476,14 @@
 // Identifies the Drive folder containing the items for which to return
 // activities.
 func (c *ActivitiesListCall) DriveAncestorId(driveAncestorId string) *ActivitiesListCall {
-	c.urlParams_.Set("driveAncestorId", driveAncestorId)
+	c.opt_["drive.ancestorId"] = driveAncestorId
 	return c
 }
 
 // DriveFileId sets the optional parameter "drive.fileId": Identifies
 // the Drive item to return activities for.
 func (c *ActivitiesListCall) DriveFileId(driveFileId string) *ActivitiesListCall {
-	c.urlParams_.Set("driveFileId", driveFileId)
+	c.opt_["drive.fileId"] = driveFileId
 	return c
 }
 
@@ -496,7 +495,7 @@
 //   "driveUi" (default)
 //   "none"
 func (c *ActivitiesListCall) GroupingStrategy(groupingStrategy string) *ActivitiesListCall {
-	c.urlParams_.Set("groupingStrategy", groupingStrategy)
+	c.opt_["groupingStrategy"] = groupingStrategy
 	return c
 }
 
@@ -504,14 +503,14 @@
 // of events to return on a page. The response includes a continuation
 // token if there are more events.
 func (c *ActivitiesListCall) PageSize(pageSize int64) *ActivitiesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token to
 // retrieve a specific page of results.
 func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -519,7 +518,7 @@
 // which to return activities. Possible values of source are:
 // - drive.google.com
 func (c *ActivitiesListCall) Source(source string) *ActivitiesListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
@@ -527,15 +526,15 @@
 // return activity for. Use the special value me to indicate the
 // currently authenticated user.
 func (c *ActivitiesListCall) UserId(userId string) *ActivitiesListCall {
-	c.urlParams_.Set("userId", userId)
+	c.opt_["userId"] = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -545,13 +544,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -559,14 +558,39 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["drive.ancestorId"]; ok {
+		params.Set("drive.ancestorId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["drive.fileId"]; ok {
+		params.Set("drive.fileId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupingStrategy"]; ok {
+		params.Set("groupingStrategy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userId"]; ok {
+		params.Set("userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/appstate/v1/appstate-gen.go b/appstate/v1/appstate-gen.go
index 6729f0d..41d05e4 100644
--- a/appstate/v1/appstate-gen.go
+++ b/appstate/v1/appstate-gen.go
@@ -209,17 +209,17 @@
 // method id "appstate.states.clear":
 
 type StatesClearCall struct {
-	s          *Service
-	stateKey   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	stateKey int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Clear: Clears (sets to empty) the data for the passed key if and only
 // if the passed version matches the currently stored version. This
 // method results in a conflict error on version mismatch.
 func (r *StatesService) Clear(stateKey int64) *StatesClearCall {
-	c := &StatesClearCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatesClearCall{s: r.s, opt_: make(map[string]interface{})}
 	c.stateKey = stateKey
 	return c
 }
@@ -228,21 +228,21 @@
 // The version of the data to be cleared. Version strings are returned
 // by the server.
 func (c *StatesClearCall) CurrentDataVersion(currentDataVersion string) *StatesClearCall {
-	c.urlParams_.Set("currentDataVersion", currentDataVersion)
+	c.opt_["currentDataVersion"] = currentDataVersion
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatesClearCall) Fields(s ...googleapi.Field) *StatesClearCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatesClearCall) Context(ctx context.Context) *StatesClearCall {
 	c.ctx_ = ctx
 	return c
@@ -250,9 +250,16 @@
 
 func (c *StatesClearCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["currentDataVersion"]; ok {
+		params.Set("currentDataVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}/clear")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"stateKey": strconv.FormatInt(c.stateKey, 10),
@@ -336,10 +343,10 @@
 // method id "appstate.states.delete":
 
 type StatesDeleteCall struct {
-	s          *Service
-	stateKey   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	stateKey int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a key and the data associated with it. The key is
@@ -349,22 +356,22 @@
 // this method in shipping code can result in data loss and data
 // corruption.
 func (r *StatesService) Delete(stateKey int64) *StatesDeleteCall {
-	c := &StatesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.stateKey = stateKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatesDeleteCall) Fields(s ...googleapi.Field) *StatesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatesDeleteCall) Context(ctx context.Context) *StatesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -372,9 +379,13 @@
 
 func (c *StatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"stateKey": strconv.FormatInt(c.stateKey, 10),
@@ -426,26 +437,25 @@
 // method id "appstate.states.get":
 
 type StatesGetCall struct {
-	s            *Service
-	stateKey     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	stateKey int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves the data corresponding to the passed key. If the key
 // does not exist on the server, an HTTP 404 will be returned.
 func (r *StatesService) Get(stateKey int64) *StatesGetCall {
-	c := &StatesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.stateKey = stateKey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatesGetCall) Fields(s ...googleapi.Field) *StatesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -455,13 +465,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *StatesGetCall) IfNoneMatch(entityTag string) *StatesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatesGetCall) Context(ctx context.Context) *StatesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -469,16 +479,20 @@
 
 func (c *StatesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"stateKey": strconv.FormatInt(c.stateKey, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -553,30 +567,29 @@
 // method id "appstate.states.list":
 
 type StatesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all the states keys, and optionally the state data.
 func (r *StatesService) List() *StatesListCall {
-	c := &StatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // IncludeData sets the optional parameter "includeData": Whether to
 // include the full data in addition to the version number
 func (c *StatesListCall) IncludeData(includeData bool) *StatesListCall {
-	c.urlParams_.Set("includeData", fmt.Sprintf("%v", includeData))
+	c.opt_["includeData"] = includeData
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatesListCall) Fields(s ...googleapi.Field) *StatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -586,13 +599,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *StatesListCall) IfNoneMatch(entityTag string) *StatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatesListCall) Context(ctx context.Context) *StatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -600,14 +613,21 @@
 
 func (c *StatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeData"]; ok {
+		params.Set("includeData", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "states")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -679,7 +699,7 @@
 	s             *Service
 	stateKey      int64
 	updaterequest *UpdateRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -688,7 +708,7 @@
 // is safe in the face of concurrent writes. Maximum per-key size is
 // 128KB.
 func (r *StatesService) Update(stateKey int64, updaterequest *UpdateRequest) *StatesUpdateCall {
-	c := &StatesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.stateKey = stateKey
 	c.updaterequest = updaterequest
 	return c
@@ -701,21 +721,21 @@
 // on the server for this key, the update will succeed irrespective of
 // the value of this parameter.
 func (c *StatesUpdateCall) CurrentStateVersion(currentStateVersion string) *StatesUpdateCall {
-	c.urlParams_.Set("currentStateVersion", currentStateVersion)
+	c.opt_["currentStateVersion"] = currentStateVersion
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatesUpdateCall) Fields(s ...googleapi.Field) *StatesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatesUpdateCall) Context(ctx context.Context) *StatesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -728,9 +748,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["currentStateVersion"]; ok {
+		params.Set("currentStateVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"stateKey": strconv.FormatInt(c.stateKey, 10),
diff --git a/autoscaler/v1beta2/autoscaler-gen.go b/autoscaler/v1beta2/autoscaler-gen.go
index 9e8fbbc..f9373b6 100644
--- a/autoscaler/v1beta2/autoscaler-gen.go
+++ b/autoscaler/v1beta2/autoscaler-gen.go
@@ -628,30 +628,30 @@
 	project    string
 	zone       string
 	autoscaler string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified Autoscaler resource.
 func (r *AutoscalersService) Delete(project string, zone string, autoscaler string) *AutoscalersDeleteCall {
-	c := &AutoscalersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersDeleteCall) Fields(s ...googleapi.Field) *AutoscalersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersDeleteCall) Context(ctx context.Context) *AutoscalersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -659,9 +659,13 @@
 
 func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -753,29 +757,28 @@
 // method id "autoscaler.autoscalers.get":
 
 type AutoscalersGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	autoscaler   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	zone       string
+	autoscaler string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified Autoscaler resource.
 func (r *AutoscalersService) Get(project string, zone string, autoscaler string) *AutoscalersGetCall {
-	c := &AutoscalersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersGetCall) Fields(s ...googleapi.Field) *AutoscalersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -785,13 +788,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersGetCall) IfNoneMatch(entityTag string) *AutoscalersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersGetCall) Context(ctx context.Context) *AutoscalersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -799,9 +802,13 @@
 
 func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -809,8 +816,8 @@
 		"autoscaler": c.autoscaler,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -901,30 +908,30 @@
 	project    string
 	zone       string
 	autoscaler *Autoscaler
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Adds new Autoscaler resource.
 func (r *AutoscalersService) Insert(project string, zone string, autoscaler *Autoscaler) *AutoscalersInsertCall {
-	c := &AutoscalersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersInsertCall) Fields(s ...googleapi.Field) *AutoscalersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersInsertCall) Context(ctx context.Context) *AutoscalersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -937,9 +944,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1027,17 +1038,16 @@
 // method id "autoscaler.autoscalers.list":
 
 type AutoscalersListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all Autoscaler resources in this zone.
 func (r *AutoscalersService) List(project string, zone string) *AutoscalersListCall {
-	c := &AutoscalersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -1045,27 +1055,27 @@
 
 // Filter sets the optional parameter "filter":
 func (c *AutoscalersListCall) Filter(filter string) *AutoscalersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults":
 func (c *AutoscalersListCall) MaxResults(maxResults int64) *AutoscalersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken":
 func (c *AutoscalersListCall) PageToken(pageToken string) *AutoscalersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersListCall) Fields(s ...googleapi.Field) *AutoscalersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1075,13 +1085,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersListCall) IfNoneMatch(entityTag string) *AutoscalersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersListCall) Context(ctx context.Context) *AutoscalersListCall {
 	c.ctx_ = ctx
 	return c
@@ -1089,17 +1099,30 @@
 
 func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1200,14 +1223,14 @@
 	zone        string
 	autoscaler  string
 	autoscaler2 *Autoscaler
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Update the entire content of the Autoscaler resource. This
 // method supports patch semantics.
 func (r *AutoscalersService) Patch(project string, zone string, autoscaler string, autoscaler2 *Autoscaler) *AutoscalersPatchCall {
-	c := &AutoscalersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
@@ -1215,17 +1238,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersPatchCall) Fields(s ...googleapi.Field) *AutoscalersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersPatchCall) Context(ctx context.Context) *AutoscalersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1238,9 +1261,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1341,13 +1368,13 @@
 	zone        string
 	autoscaler  string
 	autoscaler2 *Autoscaler
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Update the entire content of the Autoscaler resource.
 func (r *AutoscalersService) Update(project string, zone string, autoscaler string, autoscaler2 *Autoscaler) *AutoscalersUpdateCall {
-	c := &AutoscalersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
@@ -1355,17 +1382,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersUpdateCall) Fields(s ...googleapi.Field) *AutoscalersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersUpdateCall) Context(ctx context.Context) *AutoscalersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1378,9 +1405,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1476,34 +1507,34 @@
 // method id "autoscaler.zoneOperations.delete":
 
 type ZoneOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified zone-specific operation resource.
 func (r *ZoneOperationsService) Delete(project string, zone string, operation string) *ZoneOperationsDeleteCall {
-	c := &ZoneOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsDeleteCall) Fields(s ...googleapi.Field) *ZoneOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsDeleteCall) Context(ctx context.Context) *ZoneOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1511,9 +1542,13 @@
 
 func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1578,29 +1613,28 @@
 // method id "autoscaler.zoneOperations.get":
 
 type ZoneOperationsGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified zone-specific operation resource.
 func (r *ZoneOperationsService) Get(project string, zone string, operation string) *ZoneOperationsGetCall {
-	c := &ZoneOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsGetCall) Fields(s ...googleapi.Field) *ZoneOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1610,13 +1644,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsGetCall) IfNoneMatch(entityTag string) *ZoneOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1624,9 +1658,13 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1634,8 +1672,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1722,18 +1760,17 @@
 // method id "autoscaler.zoneOperations.list":
 
 type ZoneOperationsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified zone.
 func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperationsListCall {
-	c := &ZoneOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -1741,27 +1778,27 @@
 
 // Filter sets the optional parameter "filter":
 func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults":
 func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken":
 func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsListCall) Fields(s ...googleapi.Field) *ZoneOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1771,13 +1808,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsListCall) IfNoneMatch(entityTag string) *ZoneOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1785,17 +1822,30 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1891,43 +1941,42 @@
 // method id "autoscaler.zones.list":
 
 type ZonesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List:
 func (r *ZonesService) List(project string) *ZonesListCall {
-	c := &ZonesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZonesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
 // Filter sets the optional parameter "filter":
 func (c *ZonesListCall) Filter(filter string) *ZonesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults":
 func (c *ZonesListCall) MaxResults(maxResults int64) *ZonesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken":
 func (c *ZonesListCall) PageToken(pageToken string) *ZonesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZonesListCall) Fields(s ...googleapi.Field) *ZonesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1937,13 +1986,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZonesListCall) IfNoneMatch(entityTag string) *ZonesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZonesListCall) Context(ctx context.Context) *ZonesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1951,16 +2000,29 @@
 
 func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/bigquery/v2/bigquery-gen.go b/bigquery/v2/bigquery-gen.go
index 011c8bc..a1adbec 100644
--- a/bigquery/v2/bigquery-gen.go
+++ b/bigquery/v2/bigquery-gen.go
@@ -2033,11 +2033,11 @@
 // method id "bigquery.datasets.delete":
 
 type DatasetsDeleteCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the dataset specified by the datasetId value. Before
@@ -2045,7 +2045,7 @@
 // manually or by specifying deleteContents. Immediately after deletion,
 // you can create another dataset with the same name.
 func (r *DatasetsService) Delete(projectId string, datasetId string) *DatasetsDeleteCall {
-	c := &DatasetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	return c
@@ -2055,21 +2055,21 @@
 // delete all the tables in the dataset. If False and the dataset
 // contains tables, the request will fail. Default is False
 func (c *DatasetsDeleteCall) DeleteContents(deleteContents bool) *DatasetsDeleteCall {
-	c.urlParams_.Set("deleteContents", fmt.Sprintf("%v", deleteContents))
+	c.opt_["deleteContents"] = deleteContents
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsDeleteCall) Context(ctx context.Context) *DatasetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2077,9 +2077,16 @@
 
 func (c *DatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["deleteContents"]; ok {
+		params.Set("deleteContents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2142,27 +2149,26 @@
 // method id "bigquery.datasets.get":
 
 type DatasetsGetCall struct {
-	s            *Service
-	projectId    string
-	datasetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the dataset specified by datasetID.
 func (r *DatasetsService) Get(projectId string, datasetId string) *DatasetsGetCall {
-	c := &DatasetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsGetCall) Fields(s ...googleapi.Field) *DatasetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2172,13 +2178,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatasetsGetCall) IfNoneMatch(entityTag string) *DatasetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsGetCall) Context(ctx context.Context) *DatasetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2186,17 +2192,21 @@
 
 func (c *DatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"datasetId": c.datasetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2277,32 +2287,32 @@
 // method id "bigquery.datasets.insert":
 
 type DatasetsInsertCall struct {
-	s          *Service
-	projectId  string
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	dataset   *Dataset
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a new empty dataset.
 func (r *DatasetsService) Insert(projectId string, dataset *Dataset) *DatasetsInsertCall {
-	c := &DatasetsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsInsertCall) Fields(s ...googleapi.Field) *DatasetsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsInsertCall) Context(ctx context.Context) *DatasetsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2315,9 +2325,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2398,17 +2412,16 @@
 // method id "bigquery.datasets.list":
 
 type DatasetsListCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all datasets in the specified project to which you have
 // been granted the READER dataset role.
 func (r *DatasetsService) List(projectId string) *DatasetsListCall {
-	c := &DatasetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
@@ -2416,29 +2429,29 @@
 // All sets the optional parameter "all": Whether to list all datasets,
 // including hidden ones
 func (c *DatasetsListCall) All(all bool) *DatasetsListCall {
-	c.urlParams_.Set("all", fmt.Sprintf("%v", all))
+	c.opt_["all"] = all
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of results to return
 func (c *DatasetsListCall) MaxResults(maxResults int64) *DatasetsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
 // returned by a previous call, to request the next page of results
 func (c *DatasetsListCall) PageToken(pageToken string) *DatasetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsListCall) Fields(s ...googleapi.Field) *DatasetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2448,13 +2461,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatasetsListCall) IfNoneMatch(entityTag string) *DatasetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsListCall) Context(ctx context.Context) *DatasetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2462,16 +2475,29 @@
 
 func (c *DatasetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["all"]; ok {
+		params.Set("all", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2561,12 +2587,12 @@
 // method id "bigquery.datasets.patch":
 
 type DatasetsPatchCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	dataset   *Dataset
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates information in an existing dataset. The update method
@@ -2574,24 +2600,24 @@
 // replaces fields that are provided in the submitted dataset resource.
 // This method supports patch semantics.
 func (r *DatasetsService) Patch(projectId string, datasetId string, dataset *Dataset) *DatasetsPatchCall {
-	c := &DatasetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsPatchCall) Fields(s ...googleapi.Field) *DatasetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsPatchCall) Context(ctx context.Context) *DatasetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2604,9 +2630,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2695,36 +2725,36 @@
 // method id "bigquery.datasets.update":
 
 type DatasetsUpdateCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	dataset   *Dataset
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates information in an existing dataset. The update method
 // replaces the entire dataset resource, whereas the patch method only
 // replaces fields that are provided in the submitted dataset resource.
 func (r *DatasetsService) Update(projectId string, datasetId string, dataset *Dataset) *DatasetsUpdateCall {
-	c := &DatasetsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsUpdateCall) Fields(s ...googleapi.Field) *DatasetsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsUpdateCall) Context(ctx context.Context) *DatasetsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2737,9 +2767,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2828,11 +2862,11 @@
 // method id "bigquery.jobs.cancel":
 
 type JobsCancelCall struct {
-	s          *Service
-	projectId  string
-	jobId      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Cancel: Requests that a job be cancelled. This call will return
@@ -2840,23 +2874,23 @@
 // see if the cancel completed successfully. Cancelled jobs may still
 // incur costs.
 func (r *JobsService) Cancel(projectId string, jobId string) *JobsCancelCall {
-	c := &JobsCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsCancelCall) Fields(s ...googleapi.Field) *JobsCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsCancelCall) Context(ctx context.Context) *JobsCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -2864,9 +2898,13 @@
 
 func (c *JobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "project/{projectId}/jobs/{jobId}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2951,29 +2989,28 @@
 // method id "bigquery.jobs.get":
 
 type JobsGetCall struct {
-	s            *Service
-	projectId    string
-	jobId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns information about a specific job. Job information is
 // available for a six month period after creation. Requires that you're
 // the person who ran the job, or have the Is Owner project role.
 func (r *JobsService) Get(projectId string, jobId string) *JobsGetCall {
-	c := &JobsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsGetCall) Fields(s ...googleapi.Field) *JobsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2983,13 +3020,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *JobsGetCall) IfNoneMatch(entityTag string) *JobsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsGetCall) Context(ctx context.Context) *JobsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2997,17 +3034,21 @@
 
 func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"jobId":     c.jobId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3088,17 +3129,16 @@
 // method id "bigquery.jobs.getQueryResults":
 
 type JobsGetQueryResultsCall struct {
-	s            *Service
-	projectId    string
-	jobId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // GetQueryResults: Retrieves the results of a query job.
 func (r *JobsService) GetQueryResults(projectId string, jobId string) *JobsGetQueryResultsCall {
-	c := &JobsGetQueryResultsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsGetQueryResultsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	return c
@@ -3107,21 +3147,21 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to read
 func (c *JobsGetQueryResultsCall) MaxResults(maxResults int64) *JobsGetQueryResultsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
 // returned by a previous call, to request the next page of results
 func (c *JobsGetQueryResultsCall) PageToken(pageToken string) *JobsGetQueryResultsCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Zero-based index
 // of the starting row
 func (c *JobsGetQueryResultsCall) StartIndex(startIndex uint64) *JobsGetQueryResultsCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
@@ -3130,15 +3170,15 @@
 // is 10 seconds. If the timeout passes before the job completes, the
 // 'jobComplete' field in the response will be false
 func (c *JobsGetQueryResultsCall) TimeoutMs(timeoutMs int64) *JobsGetQueryResultsCall {
-	c.urlParams_.Set("timeoutMs", fmt.Sprintf("%v", timeoutMs))
+	c.opt_["timeoutMs"] = timeoutMs
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsGetQueryResultsCall) Fields(s ...googleapi.Field) *JobsGetQueryResultsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3148,13 +3188,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *JobsGetQueryResultsCall) IfNoneMatch(entityTag string) *JobsGetQueryResultsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsGetQueryResultsCall) Context(ctx context.Context) *JobsGetQueryResultsCall {
 	c.ctx_ = ctx
 	return c
@@ -3162,17 +3202,33 @@
 
 func (c *JobsGetQueryResultsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeoutMs"]; ok {
+		params.Set("timeoutMs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/queries/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"jobId":     c.jobId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3276,41 +3332,40 @@
 // method id "bigquery.jobs.insert":
 
 type JobsInsertCall struct {
-	s                *Service
-	projectId        string
-	job              *Job
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	projectId  string
+	job        *Job
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Starts a new asynchronous job. Requires the Can View project
 // role.
 func (r *JobsService) Insert(projectId string, job *Job) *JobsInsertCall {
-	c := &JobsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.job = job
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *JobsInsertCall) Media(r io.Reader) *JobsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *JobsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *JobsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3319,28 +3374,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *JobsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *JobsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsInsertCall) Fields(s ...googleapi.Field) *JobsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *JobsInsertCall) Context(ctx context.Context) *JobsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3353,13 +3407,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/jobs")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -3412,6 +3470,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3421,7 +3485,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3491,11 +3555,10 @@
 // method id "bigquery.jobs.list":
 
 type JobsListCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all jobs that you started in the specified project. Job
@@ -3504,7 +3567,7 @@
 // time. Requires the Can View project role, or the Is Owner project
 // role if you set the allUsers property.
 func (r *JobsService) List(projectId string) *JobsListCall {
-	c := &JobsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
@@ -3512,21 +3575,21 @@
 // AllUsers sets the optional parameter "allUsers": Whether to display
 // jobs owned by all users in the project. Default false
 func (c *JobsListCall) AllUsers(allUsers bool) *JobsListCall {
-	c.urlParams_.Set("allUsers", fmt.Sprintf("%v", allUsers))
+	c.opt_["allUsers"] = allUsers
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *JobsListCall) MaxResults(maxResults int64) *JobsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
 // returned by a previous call, to request the next page of results
 func (c *JobsListCall) PageToken(pageToken string) *JobsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3537,7 +3600,7 @@
 //   "full" - Includes all job data
 //   "minimal" - Does not include the job configuration
 func (c *JobsListCall) Projection(projection string) *JobsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -3548,16 +3611,16 @@
 //   "done" - Finished jobs
 //   "pending" - Pending jobs
 //   "running" - Running jobs
-func (c *JobsListCall) StateFilter(stateFilter []string) *JobsListCall {
-	c.urlParams_.SetMulti("stateFilter", append([]string{}, stateFilter...))
+func (c *JobsListCall) StateFilter(stateFilter string) *JobsListCall {
+	c.opt_["stateFilter"] = stateFilter
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsListCall) Fields(s ...googleapi.Field) *JobsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3567,13 +3630,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *JobsListCall) IfNoneMatch(entityTag string) *JobsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsListCall) Context(ctx context.Context) *JobsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3581,16 +3644,35 @@
 
 func (c *JobsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["allUsers"]; ok {
+		params.Set("allUsers", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["stateFilter"]; ok {
+		params.Set("stateFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/jobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3712,30 +3794,30 @@
 	s            *Service
 	projectId    string
 	queryrequest *QueryRequest
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Query: Runs a BigQuery SQL query synchronously and returns query
 // results if the query completes within a specified timeout.
 func (r *JobsService) Query(projectId string, queryrequest *QueryRequest) *JobsQueryCall {
-	c := &JobsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.queryrequest = queryrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsQueryCall) Fields(s ...googleapi.Field) *JobsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsQueryCall) Context(ctx context.Context) *JobsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -3748,9 +3830,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/queries")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -3832,38 +3918,37 @@
 // method id "bigquery.projects.list":
 
 type ProjectsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all projects to which you have been granted any project
 // role.
 func (r *ProjectsService) List() *ProjectsListCall {
-	c := &ProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
 // returned by a previous call, to request the next page of results
 func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3873,13 +3958,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3887,14 +3972,24 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3975,14 +4070,14 @@
 	datasetId                 string
 	tableId                   string
 	tabledatainsertallrequest *TableDataInsertAllRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // InsertAll: Streams data into BigQuery one record at a time without
 // needing to run a load job. Requires the WRITER dataset role.
 func (r *TabledataService) InsertAll(projectId string, datasetId string, tableId string, tabledatainsertallrequest *TableDataInsertAllRequest) *TabledataInsertAllCall {
-	c := &TabledataInsertAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TabledataInsertAllCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.tableId = tableId
@@ -3990,17 +4085,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TabledataInsertAllCall) Fields(s ...googleapi.Field) *TabledataInsertAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TabledataInsertAllCall) Context(ctx context.Context) *TabledataInsertAllCall {
 	c.ctx_ = ctx
 	return c
@@ -4013,9 +4108,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -4113,19 +4212,18 @@
 // method id "bigquery.tabledata.list":
 
 type TabledataListCall struct {
-	s            *Service
-	projectId    string
-	datasetId    string
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	tableId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves table data from a specified set of rows. Requires the
 // READER dataset role.
 func (r *TabledataService) List(projectId string, datasetId string, tableId string) *TabledataListCall {
-	c := &TabledataListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TabledataListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.tableId = tableId
@@ -4135,29 +4233,29 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *TabledataListCall) MaxResults(maxResults int64) *TabledataListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
 // returned by a previous call, identifying the result set
 func (c *TabledataListCall) PageToken(pageToken string) *TabledataListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Zero-based index
 // of the starting row to read
 func (c *TabledataListCall) StartIndex(startIndex uint64) *TabledataListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TabledataListCall) Fields(s ...googleapi.Field) *TabledataListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4167,13 +4265,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TabledataListCall) IfNoneMatch(entityTag string) *TabledataListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TabledataListCall) Context(ctx context.Context) *TabledataListCall {
 	c.ctx_ = ctx
 	return c
@@ -4181,9 +4279,22 @@
 
 func (c *TabledataListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -4191,8 +4302,8 @@
 		"tableId":   c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4297,35 +4408,35 @@
 // method id "bigquery.tables.delete":
 
 type TablesDeleteCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	tableId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	tableId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the table specified by tableId from the dataset. If
 // the table contains data, all the data will be deleted.
 func (r *TablesService) Delete(projectId string, datasetId string, tableId string) *TablesDeleteCall {
-	c := &TablesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.tableId = tableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesDeleteCall) Fields(s ...googleapi.Field) *TablesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesDeleteCall) Context(ctx context.Context) *TablesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4333,9 +4444,13 @@
 
 func (c *TablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -4401,31 +4516,30 @@
 // method id "bigquery.tables.get":
 
 type TablesGetCall struct {
-	s            *Service
-	projectId    string
-	datasetId    string
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	tableId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets the specified table resource by table ID. This method does
 // not return the data in the table, it only returns the table resource,
 // which describes the structure of this table.
 func (r *TablesService) Get(projectId string, datasetId string, tableId string) *TablesGetCall {
-	c := &TablesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.tableId = tableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesGetCall) Fields(s ...googleapi.Field) *TablesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4435,13 +4549,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesGetCall) IfNoneMatch(entityTag string) *TablesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesGetCall) Context(ctx context.Context) *TablesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4449,9 +4563,13 @@
 
 func (c *TablesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -4459,8 +4577,8 @@
 		"tableId":   c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4548,34 +4666,34 @@
 // method id "bigquery.tables.insert":
 
 type TablesInsertCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	table     *Table
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a new, empty table in the dataset.
 func (r *TablesService) Insert(projectId string, datasetId string, table *Table) *TablesInsertCall {
-	c := &TablesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesInsertCall) Fields(s ...googleapi.Field) *TablesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesInsertCall) Context(ctx context.Context) *TablesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4588,9 +4706,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -4679,18 +4801,17 @@
 // method id "bigquery.tables.list":
 
 type TablesListCall struct {
-	s            *Service
-	projectId    string
-	datasetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all tables in the specified dataset. Requires the READER
 // dataset role.
 func (r *TablesService) List(projectId string, datasetId string) *TablesListCall {
-	c := &TablesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	return c
@@ -4699,22 +4820,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *TablesListCall) MaxResults(maxResults int64) *TablesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
 // returned by a previous call, to request the next page of results
 func (c *TablesListCall) PageToken(pageToken string) *TablesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesListCall) Fields(s ...googleapi.Field) *TablesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4724,13 +4845,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesListCall) IfNoneMatch(entityTag string) *TablesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesListCall) Context(ctx context.Context) *TablesListCall {
 	c.ctx_ = ctx
 	return c
@@ -4738,17 +4859,27 @@
 
 func (c *TablesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"datasetId": c.datasetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4840,13 +4971,13 @@
 // method id "bigquery.tables.patch":
 
 type TablesPatchCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	tableId    string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	tableId   string
+	table     *Table
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates information in an existing table. The update method
@@ -4854,7 +4985,7 @@
 // replaces fields that are provided in the submitted table resource.
 // This method supports patch semantics.
 func (r *TablesService) Patch(projectId string, datasetId string, tableId string, table *Table) *TablesPatchCall {
-	c := &TablesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.tableId = tableId
@@ -4862,17 +4993,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPatchCall) Fields(s ...googleapi.Field) *TablesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPatchCall) Context(ctx context.Context) *TablesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4885,9 +5016,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -4984,20 +5119,20 @@
 // method id "bigquery.tables.update":
 
 type TablesUpdateCall struct {
-	s          *Service
-	projectId  string
-	datasetId  string
-	tableId    string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	datasetId string
+	tableId   string
+	table     *Table
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates information in an existing table. The update method
 // replaces the entire table resource, whereas the patch method only
 // replaces fields that are provided in the submitted table resource.
 func (r *TablesService) Update(projectId string, datasetId string, tableId string, table *Table) *TablesUpdateCall {
-	c := &TablesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.datasetId = datasetId
 	c.tableId = tableId
@@ -5005,17 +5140,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesUpdateCall) Fields(s ...googleapi.Field) *TablesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesUpdateCall) Context(ctx context.Context) *TablesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5028,9 +5163,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/datasets/{datasetId}/tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
diff --git a/blogger/v2/blogger-gen.go b/blogger/v2/blogger-gen.go
index 6ec1e84..615bab9 100644
--- a/blogger/v2/blogger-gen.go
+++ b/blogger/v2/blogger-gen.go
@@ -913,25 +913,24 @@
 // method id "blogger.blogs.get":
 
 type BlogsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog by id.
 func (r *BlogsService) Get(blogId string) *BlogsGetCall {
-	c := &BlogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetCall) Fields(s ...googleapi.Field) *BlogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -941,13 +940,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetCall) IfNoneMatch(entityTag string) *BlogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetCall) Context(ctx context.Context) *BlogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -955,16 +954,20 @@
 
 func (c *BlogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1036,29 +1039,28 @@
 // method id "blogger.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one comment by id.
 func (r *CommentsService) Get(blogId string, postId string, commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1068,13 +1070,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1082,9 +1084,13 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -1092,8 +1098,8 @@
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1179,17 +1185,16 @@
 // method id "blogger.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the comments for a blog, possibly filtered.
 func (r *CommentsService) List(blogId string, postId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -1198,36 +1203,36 @@
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListCall) FetchBodies(fetchBodies bool) *CommentsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) StartDate(startDate string) *CommentsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1237,13 +1242,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1251,17 +1256,33 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1362,27 +1383,26 @@
 // method id "blogger.pages.get":
 
 type PagesGetCall struct {
-	s            *Service
-	blogId       string
-	pageId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog page by id.
 func (r *PagesService) Get(blogId string, pageId string) *PagesGetCall {
-	c := &PagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesGetCall) Fields(s ...googleapi.Field) *PagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1392,13 +1412,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesGetCall) IfNoneMatch(entityTag string) *PagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesGetCall) Context(ctx context.Context) *PagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1406,17 +1426,21 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"pageId": c.pageId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1495,16 +1519,15 @@
 // method id "blogger.pages.list":
 
 type PagesListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves pages for a blog, possibly filtered.
 func (r *PagesService) List(blogId string) *PagesListCall {
-	c := &PagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -1512,15 +1535,15 @@
 // FetchBodies sets the optional parameter "fetchBodies": Whether to
 // retrieve the Page bodies.
 func (c *PagesListCall) FetchBodies(fetchBodies bool) *PagesListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesListCall) Fields(s ...googleapi.Field) *PagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1530,13 +1553,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesListCall) IfNoneMatch(entityTag string) *PagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesListCall) Context(ctx context.Context) *PagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1544,16 +1567,23 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1630,27 +1660,26 @@
 // method id "blogger.posts.get":
 
 type PostsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get a post by id.
 func (r *PostsService) Get(blogId string, postId string) *PostsGetCall {
-	c := &PostsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetCall) Fields(s ...googleapi.Field) *PostsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1660,13 +1689,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetCall) IfNoneMatch(entityTag string) *PostsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetCall) Context(ctx context.Context) *PostsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1674,17 +1703,21 @@
 
 func (c *PostsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1763,16 +1796,15 @@
 // method id "blogger.posts.list":
 
 type PostsListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of posts, possibly filtered.
 func (r *PostsService) List(blogId string) *PostsListCall {
-	c := &PostsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -1780,36 +1812,36 @@
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of posts is included.
 func (c *PostsListCall) FetchBodies(fetchBodies bool) *PostsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostsListCall) MaxResults(maxResults int64) *PostsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostsListCall) PageToken(pageToken string) *PostsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) StartDate(startDate string) *PostsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsListCall) Fields(s ...googleapi.Field) *PostsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1819,13 +1851,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsListCall) IfNoneMatch(entityTag string) *PostsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsListCall) Context(ctx context.Context) *PostsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1833,16 +1865,32 @@
 
 func (c *PostsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1936,25 +1984,24 @@
 // method id "blogger.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one user by id.
 func (r *UsersService) Get(userId string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1964,13 +2011,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1978,16 +2025,20 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2059,25 +2110,24 @@
 // method id "blogger.users.blogs.list":
 
 type UsersBlogsListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of blogs, possibly filtered.
 func (r *UsersBlogsService) List(userId string) *UsersBlogsListCall {
-	c := &UsersBlogsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersBlogsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersBlogsListCall) Fields(s ...googleapi.Field) *UsersBlogsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2087,13 +2137,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersBlogsListCall) IfNoneMatch(entityTag string) *UsersBlogsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersBlogsListCall) Context(ctx context.Context) *UsersBlogsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2101,16 +2151,20 @@
 
 func (c *UsersBlogsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/blogger/v3/blogger-gen.go b/blogger/v3/blogger-gen.go
index a8df331..d1fc80e 100644
--- a/blogger/v3/blogger-gen.go
+++ b/blogger/v3/blogger-gen.go
@@ -1251,17 +1251,16 @@
 // method id "blogger.blogUserInfos.get":
 
 type BlogUserInfosGetCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog and user info pair by blogId and userId.
 func (r *BlogUserInfosService) Get(userId string, blogId string) *BlogUserInfosGetCall {
-	c := &BlogUserInfosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogUserInfosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	return c
@@ -1270,15 +1269,15 @@
 // MaxPosts sets the optional parameter "maxPosts": Maximum number of
 // posts to pull back with the blog.
 func (c *BlogUserInfosGetCall) MaxPosts(maxPosts int64) *BlogUserInfosGetCall {
-	c.urlParams_.Set("maxPosts", fmt.Sprintf("%v", maxPosts))
+	c.opt_["maxPosts"] = maxPosts
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogUserInfosGetCall) Fields(s ...googleapi.Field) *BlogUserInfosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1288,13 +1287,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogUserInfosGetCall) IfNoneMatch(entityTag string) *BlogUserInfosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogUserInfosGetCall) Context(ctx context.Context) *BlogUserInfosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1302,17 +1301,24 @@
 
 func (c *BlogUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxPosts"]; ok {
+		params.Set("maxPosts", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1398,16 +1404,15 @@
 // method id "blogger.blogs.get":
 
 type BlogsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog by ID.
 func (r *BlogsService) Get(blogId string) *BlogsGetCall {
-	c := &BlogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -1415,7 +1420,7 @@
 // MaxPosts sets the optional parameter "maxPosts": Maximum number of
 // posts to pull back with the blog.
 func (c *BlogsGetCall) MaxPosts(maxPosts int64) *BlogsGetCall {
-	c.urlParams_.Set("maxPosts", fmt.Sprintf("%v", maxPosts))
+	c.opt_["maxPosts"] = maxPosts
 	return c
 }
 
@@ -1427,15 +1432,15 @@
 //   "AUTHOR" - Author level detail.
 //   "READER" - Reader level detail.
 func (c *BlogsGetCall) View(view string) *BlogsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetCall) Fields(s ...googleapi.Field) *BlogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1445,13 +1450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetCall) IfNoneMatch(entityTag string) *BlogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetCall) Context(ctx context.Context) *BlogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1459,16 +1464,26 @@
 
 func (c *BlogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxPosts"]; ok {
+		params.Set("maxPosts", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1562,16 +1577,16 @@
 // method id "blogger.blogs.getByUrl":
 
 type BlogsGetByUrlCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	url  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetByUrl: Retrieve a Blog by URL.
 func (r *BlogsService) GetByUrl(url string) *BlogsGetByUrlCall {
-	c := &BlogsGetByUrlCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("url", url)
+	c := &BlogsGetByUrlCall{s: r.s, opt_: make(map[string]interface{})}
+	c.url = url
 	return c
 }
 
@@ -1583,15 +1598,15 @@
 //   "AUTHOR" - Author level detail.
 //   "READER" - Reader level detail.
 func (c *BlogsGetByUrlCall) View(view string) *BlogsGetByUrlCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetByUrlCall) Fields(s ...googleapi.Field) *BlogsGetByUrlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1601,13 +1616,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetByUrlCall) IfNoneMatch(entityTag string) *BlogsGetByUrlCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetByUrlCall) Context(ctx context.Context) *BlogsGetByUrlCall {
 	c.ctx_ = ctx
 	return c
@@ -1615,14 +1630,22 @@
 
 func (c *BlogsGetByUrlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("url", fmt.Sprintf("%v", c.url))
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/byurl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1710,16 +1733,15 @@
 // method id "blogger.blogs.listByUser":
 
 type BlogsListByUserCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // ListByUser: Retrieves a list of blogs, possibly filtered.
 func (r *BlogsService) ListByUser(userId string) *BlogsListByUserCall {
-	c := &BlogsListByUserCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsListByUserCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -1728,7 +1750,7 @@
 // the response is a list of blogs with per-user information instead of
 // just blogs.
 func (c *BlogsListByUserCall) FetchUserInfo(fetchUserInfo bool) *BlogsListByUserCall {
-	c.urlParams_.Set("fetchUserInfo", fmt.Sprintf("%v", fetchUserInfo))
+	c.opt_["fetchUserInfo"] = fetchUserInfo
 	return c
 }
 
@@ -1743,8 +1765,8 @@
 // access.
 //   "READER" - Reader role - Blogs where the user has Reader level
 // access (to a private blog).
-func (c *BlogsListByUserCall) Role(role []string) *BlogsListByUserCall {
-	c.urlParams_.SetMulti("role", append([]string{}, role...))
+func (c *BlogsListByUserCall) Role(role string) *BlogsListByUserCall {
+	c.opt_["role"] = role
 	return c
 }
 
@@ -1755,8 +1777,8 @@
 // Possible values:
 //   "DELETED" - Blog has been deleted by an administrator.
 //   "LIVE" (default) - Blog is currently live.
-func (c *BlogsListByUserCall) Status(status []string) *BlogsListByUserCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *BlogsListByUserCall) Status(status string) *BlogsListByUserCall {
+	c.opt_["status"] = status
 	return c
 }
 
@@ -1768,15 +1790,15 @@
 //   "AUTHOR" - Author level detail.
 //   "READER" - Reader level detail.
 func (c *BlogsListByUserCall) View(view string) *BlogsListByUserCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsListByUserCall) Fields(s ...googleapi.Field) *BlogsListByUserCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1786,13 +1808,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsListByUserCall) IfNoneMatch(entityTag string) *BlogsListByUserCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsListByUserCall) Context(ctx context.Context) *BlogsListByUserCall {
 	c.ctx_ = ctx
 	return c
@@ -1800,16 +1822,32 @@
 
 func (c *BlogsListByUserCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchUserInfo"]; ok {
+		params.Set("fetchUserInfo", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1933,34 +1971,34 @@
 // method id "blogger.comments.approve":
 
 type CommentsApproveCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Approve: Marks a comment as not spam.
 func (r *CommentsService) Approve(blogId string, postId string, commentId string) *CommentsApproveCall {
-	c := &CommentsApproveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsApproveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsApproveCall) Fields(s ...googleapi.Field) *CommentsApproveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsApproveCall) Context(ctx context.Context) *CommentsApproveCall {
 	c.ctx_ = ctx
 	return c
@@ -1968,9 +2006,13 @@
 
 func (c *CommentsApproveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/approve")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2062,34 +2104,34 @@
 // method id "blogger.comments.delete":
 
 type CommentsDeleteCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Delete a comment by ID.
 func (r *CommentsService) Delete(blogId string, postId string, commentId string) *CommentsDeleteCall {
-	c := &CommentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsDeleteCall) Fields(s ...googleapi.Field) *CommentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsDeleteCall) Context(ctx context.Context) *CommentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2097,9 +2139,13 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2164,18 +2210,17 @@
 // method id "blogger.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one comment by ID.
 func (r *CommentsService) Get(blogId string, postId string, commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
@@ -2193,15 +2238,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *CommentsGetCall) View(view string) *CommentsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2211,13 +2256,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2225,9 +2270,16 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2235,8 +2287,8 @@
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2338,17 +2390,16 @@
 // method id "blogger.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the comments for a post, possibly filtered.
 func (r *CommentsService) List(blogId string, postId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -2357,35 +2408,35 @@
 // EndDate sets the optional parameter "endDate": Latest date of comment
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) EndDate(endDate string) *CommentsListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListCall) FetchBodies(fetchBodies bool) *CommentsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) StartDate(startDate string) *CommentsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -2396,8 +2447,8 @@
 //   "live" - Comments that are publicly visible
 //   "pending" - Comments that are awaiting administrator approval
 //   "spam" - Comments marked as spam by the administrator
-func (c *CommentsListCall) Status(status []string) *CommentsListCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *CommentsListCall) Status(status string) *CommentsListCall {
+	c.opt_["status"] = status
 	return c
 }
 
@@ -2410,15 +2461,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *CommentsListCall) View(view string) *CommentsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2428,13 +2479,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2442,17 +2493,42 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2592,17 +2668,16 @@
 // method id "blogger.comments.listByBlog":
 
 type CommentsListByBlogCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // ListByBlog: Retrieves the comments for a blog, across all posts,
 // possibly filtered.
 func (r *CommentsService) ListByBlog(blogId string) *CommentsListByBlogCall {
-	c := &CommentsListByBlogCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListByBlogCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -2610,35 +2685,35 @@
 // EndDate sets the optional parameter "endDate": Latest date of comment
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListByBlogCall) EndDate(endDate string) *CommentsListByBlogCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListByBlogCall) FetchBodies(fetchBodies bool) *CommentsListByBlogCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListByBlogCall) MaxResults(maxResults int64) *CommentsListByBlogCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListByBlogCall) PageToken(pageToken string) *CommentsListByBlogCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListByBlogCall) StartDate(startDate string) *CommentsListByBlogCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -2649,16 +2724,16 @@
 //   "live" - Comments that are publicly visible
 //   "pending" - Comments that are awaiting administrator approval
 //   "spam" - Comments marked as spam by the administrator
-func (c *CommentsListByBlogCall) Status(status []string) *CommentsListByBlogCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *CommentsListByBlogCall) Status(status string) *CommentsListByBlogCall {
+	c.opt_["status"] = status
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListByBlogCall) Fields(s ...googleapi.Field) *CommentsListByBlogCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2668,13 +2743,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListByBlogCall) IfNoneMatch(entityTag string) *CommentsListByBlogCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListByBlogCall) Context(ctx context.Context) *CommentsListByBlogCall {
 	c.ctx_ = ctx
 	return c
@@ -2682,16 +2757,38 @@
 
 func (c *CommentsListByBlogCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2809,34 +2906,34 @@
 // method id "blogger.comments.markAsSpam":
 
 type CommentsMarkAsSpamCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // MarkAsSpam: Marks a comment as spam.
 func (r *CommentsService) MarkAsSpam(blogId string, postId string, commentId string) *CommentsMarkAsSpamCall {
-	c := &CommentsMarkAsSpamCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsMarkAsSpamCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsMarkAsSpamCall) Fields(s ...googleapi.Field) *CommentsMarkAsSpamCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsMarkAsSpamCall) Context(ctx context.Context) *CommentsMarkAsSpamCall {
 	c.ctx_ = ctx
 	return c
@@ -2844,9 +2941,13 @@
 
 func (c *CommentsMarkAsSpamCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/spam")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2938,34 +3039,34 @@
 // method id "blogger.comments.removeContent":
 
 type CommentsRemoveContentCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // RemoveContent: Removes the content of a comment.
 func (r *CommentsService) RemoveContent(blogId string, postId string, commentId string) *CommentsRemoveContentCall {
-	c := &CommentsRemoveContentCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsRemoveContentCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsRemoveContentCall) Fields(s ...googleapi.Field) *CommentsRemoveContentCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsRemoveContentCall) Context(ctx context.Context) *CommentsRemoveContentCall {
 	c.ctx_ = ctx
 	return c
@@ -2973,9 +3074,13 @@
 
 func (c *CommentsRemoveContentCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -3067,16 +3172,15 @@
 // method id "blogger.pageViews.get":
 
 type PageViewsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieve pageview stats for a Blog.
 func (r *PageViewsService) Get(blogId string) *PageViewsGetCall {
-	c := &PageViewsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PageViewsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -3087,16 +3191,16 @@
 //   "30DAYS" - Page view counts from the last thirty days.
 //   "7DAYS" - Page view counts from the last seven days.
 //   "all" - Total page view counts from all time.
-func (c *PageViewsGetCall) Range(range_ []string) *PageViewsGetCall {
-	c.urlParams_.SetMulti("range_", append([]string{}, range_...))
+func (c *PageViewsGetCall) Range(range_ string) *PageViewsGetCall {
+	c.opt_["range"] = range_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PageViewsGetCall) Fields(s ...googleapi.Field) *PageViewsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3106,13 +3210,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PageViewsGetCall) IfNoneMatch(entityTag string) *PageViewsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PageViewsGetCall) Context(ctx context.Context) *PageViewsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3120,16 +3224,23 @@
 
 func (c *PageViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["range"]; ok {
+		params.Set("range", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pageviews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3216,32 +3327,32 @@
 // method id "blogger.pages.delete":
 
 type PagesDeleteCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Delete a page by ID.
 func (r *PagesService) Delete(blogId string, pageId string) *PagesDeleteCall {
-	c := &PagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesDeleteCall) Fields(s ...googleapi.Field) *PagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesDeleteCall) Context(ctx context.Context) *PagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3249,9 +3360,13 @@
 
 func (c *PagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3308,17 +3423,16 @@
 // method id "blogger.pages.get":
 
 type PagesGetCall struct {
-	s            *Service
-	blogId       string
-	pageId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog page by ID.
 func (r *PagesService) Get(blogId string, pageId string) *PagesGetCall {
-	c := &PagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
@@ -3331,15 +3445,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PagesGetCall) View(view string) *PagesGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesGetCall) Fields(s ...googleapi.Field) *PagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3349,13 +3463,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesGetCall) IfNoneMatch(entityTag string) *PagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesGetCall) Context(ctx context.Context) *PagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3363,17 +3477,24 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"pageId": c.pageId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3467,16 +3588,16 @@
 // method id "blogger.pages.insert":
 
 type PagesInsertCall struct {
-	s          *Service
-	blogId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Add a page.
 func (r *PagesService) Insert(blogId string, page *Page) *PagesInsertCall {
-	c := &PagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.page = page
 	return c
@@ -3485,21 +3606,21 @@
 // IsDraft sets the optional parameter "isDraft": Whether to create the
 // page as a draft (default: false).
 func (c *PagesInsertCall) IsDraft(isDraft bool) *PagesInsertCall {
-	c.urlParams_.Set("isDraft", fmt.Sprintf("%v", isDraft))
+	c.opt_["isDraft"] = isDraft
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesInsertCall) Fields(s ...googleapi.Field) *PagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesInsertCall) Context(ctx context.Context) *PagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3512,9 +3633,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["isDraft"]; ok {
+		params.Set("isDraft", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3599,17 +3727,16 @@
 // method id "blogger.pages.list":
 
 type PagesListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the pages for a blog, optionally including non-LIVE
 // statuses.
 func (r *PagesService) List(blogId string) *PagesListCall {
-	c := &PagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -3617,21 +3744,21 @@
 // FetchBodies sets the optional parameter "fetchBodies": Whether to
 // retrieve the Page bodies.
 func (c *PagesListCall) FetchBodies(fetchBodies bool) *PagesListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of Pages to fetch.
 func (c *PagesListCall) MaxResults(maxResults int64) *PagesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PagesListCall) PageToken(pageToken string) *PagesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3640,8 +3767,8 @@
 // Possible values:
 //   "draft" - Draft (unpublished) Pages
 //   "live" - Pages that are publicly visible
-func (c *PagesListCall) Status(status []string) *PagesListCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *PagesListCall) Status(status string) *PagesListCall {
+	c.opt_["status"] = status
 	return c
 }
 
@@ -3654,15 +3781,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PagesListCall) View(view string) *PagesListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesListCall) Fields(s ...googleapi.Field) *PagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3672,13 +3799,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesListCall) IfNoneMatch(entityTag string) *PagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesListCall) Context(ctx context.Context) *PagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3686,16 +3813,35 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3812,17 +3958,17 @@
 // method id "blogger.pages.patch":
 
 type PagesPatchCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Update a page. This method supports patch semantics.
 func (r *PagesService) Patch(blogId string, pageId string, page *Page) *PagesPatchCall {
-	c := &PagesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	c.page = page
@@ -3832,28 +3978,28 @@
 // Publish sets the optional parameter "publish": Whether a publish
 // action should be performed when the page is updated (default: false).
 func (c *PagesPatchCall) Publish(publish bool) *PagesPatchCall {
-	c.urlParams_.Set("publish", fmt.Sprintf("%v", publish))
+	c.opt_["publish"] = publish
 	return c
 }
 
 // Revert sets the optional parameter "revert": Whether a revert action
 // should be performed when the page is updated (default: false).
 func (c *PagesPatchCall) Revert(revert bool) *PagesPatchCall {
-	c.urlParams_.Set("revert", fmt.Sprintf("%v", revert))
+	c.opt_["revert"] = revert
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesPatchCall) Fields(s ...googleapi.Field) *PagesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesPatchCall) Context(ctx context.Context) *PagesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3866,9 +4012,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["publish"]; ok {
+		params.Set("publish", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["revert"]; ok {
+		params.Set("revert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3966,32 +4122,32 @@
 // method id "blogger.pages.publish":
 
 type PagesPublishCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Publish: Publishes a draft page.
 func (r *PagesService) Publish(blogId string, pageId string) *PagesPublishCall {
-	c := &PagesPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesPublishCall) Fields(s ...googleapi.Field) *PagesPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesPublishCall) Context(ctx context.Context) *PagesPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -3999,9 +4155,13 @@
 
 func (c *PagesPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4085,32 +4245,32 @@
 // method id "blogger.pages.revert":
 
 type PagesRevertCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Revert: Revert a published or scheduled page to draft state.
 func (r *PagesService) Revert(blogId string, pageId string) *PagesRevertCall {
-	c := &PagesRevertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesRevertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesRevertCall) Fields(s ...googleapi.Field) *PagesRevertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesRevertCall) Context(ctx context.Context) *PagesRevertCall {
 	c.ctx_ = ctx
 	return c
@@ -4118,9 +4278,13 @@
 
 func (c *PagesRevertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}/revert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4204,17 +4368,17 @@
 // method id "blogger.pages.update":
 
 type PagesUpdateCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Update a page.
 func (r *PagesService) Update(blogId string, pageId string, page *Page) *PagesUpdateCall {
-	c := &PagesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	c.page = page
@@ -4224,28 +4388,28 @@
 // Publish sets the optional parameter "publish": Whether a publish
 // action should be performed when the page is updated (default: false).
 func (c *PagesUpdateCall) Publish(publish bool) *PagesUpdateCall {
-	c.urlParams_.Set("publish", fmt.Sprintf("%v", publish))
+	c.opt_["publish"] = publish
 	return c
 }
 
 // Revert sets the optional parameter "revert": Whether a revert action
 // should be performed when the page is updated (default: false).
 func (c *PagesUpdateCall) Revert(revert bool) *PagesUpdateCall {
-	c.urlParams_.Set("revert", fmt.Sprintf("%v", revert))
+	c.opt_["revert"] = revert
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesUpdateCall) Fields(s ...googleapi.Field) *PagesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesUpdateCall) Context(ctx context.Context) *PagesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4258,9 +4422,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["publish"]; ok {
+		params.Set("publish", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["revert"]; ok {
+		params.Set("revert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4358,20 +4532,19 @@
 // method id "blogger.postUserInfos.get":
 
 type PostUserInfosGetCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one post and user info pair, by post ID and user ID. The
 // post user info contains per-user information about the post, such as
 // access rights, specific to the user.
 func (r *PostUserInfosService) Get(userId string, blogId string, postId string) *PostUserInfosGetCall {
-	c := &PostUserInfosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostUserInfosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	c.postId = postId
@@ -4381,15 +4554,15 @@
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostUserInfosGetCall) MaxComments(maxComments int64) *PostUserInfosGetCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostUserInfosGetCall) Fields(s ...googleapi.Field) *PostUserInfosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4399,13 +4572,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostUserInfosGetCall) IfNoneMatch(entityTag string) *PostUserInfosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostUserInfosGetCall) Context(ctx context.Context) *PostUserInfosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4413,9 +4586,16 @@
 
 func (c *PostUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -4423,8 +4603,8 @@
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4517,19 +4697,18 @@
 // method id "blogger.postUserInfos.list":
 
 type PostUserInfosListCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of post and post user info pairs, possibly
 // filtered. The post user info contains per-user information about the
 // post, such as access rights, specific to the user.
 func (r *PostUserInfosService) List(userId string, blogId string) *PostUserInfosListCall {
-	c := &PostUserInfosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostUserInfosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	return c
@@ -4538,28 +4717,28 @@
 // EndDate sets the optional parameter "endDate": Latest post date to
 // fetch, a date-time with RFC 3339 formatting.
 func (c *PostUserInfosListCall) EndDate(endDate string) *PostUserInfosListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of posts is included. Default is false.
 func (c *PostUserInfosListCall) FetchBodies(fetchBodies bool) *PostUserInfosListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // Labels sets the optional parameter "labels": Comma-separated list of
 // labels to search for.
 func (c *PostUserInfosListCall) Labels(labels string) *PostUserInfosListCall {
-	c.urlParams_.Set("labels", labels)
+	c.opt_["labels"] = labels
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostUserInfosListCall) MaxResults(maxResults int64) *PostUserInfosListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4570,21 +4749,21 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostUserInfosListCall) OrderBy(orderBy string) *PostUserInfosListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostUserInfosListCall) PageToken(pageToken string) *PostUserInfosListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostUserInfosListCall) StartDate(startDate string) *PostUserInfosListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -4594,8 +4773,8 @@
 //   "draft" - Draft posts
 //   "live" - Published posts
 //   "scheduled" - Posts that are scheduled to publish in future.
-func (c *PostUserInfosListCall) Status(status []string) *PostUserInfosListCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *PostUserInfosListCall) Status(status string) *PostUserInfosListCall {
+	c.opt_["status"] = status
 	return c
 }
 
@@ -4608,15 +4787,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostUserInfosListCall) View(view string) *PostUserInfosListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostUserInfosListCall) Fields(s ...googleapi.Field) *PostUserInfosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4626,13 +4805,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostUserInfosListCall) IfNoneMatch(entityTag string) *PostUserInfosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostUserInfosListCall) Context(ctx context.Context) *PostUserInfosListCall {
 	c.ctx_ = ctx
 	return c
@@ -4640,17 +4819,48 @@
 
 func (c *PostUserInfosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4808,32 +5018,32 @@
 // method id "blogger.posts.delete":
 
 type PostsDeleteCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Delete a post by ID.
 func (r *PostsService) Delete(blogId string, postId string) *PostsDeleteCall {
-	c := &PostsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsDeleteCall) Fields(s ...googleapi.Field) *PostsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsDeleteCall) Context(ctx context.Context) *PostsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4841,9 +5051,13 @@
 
 func (c *PostsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4900,17 +5114,16 @@
 // method id "blogger.posts.get":
 
 type PostsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get a post by ID.
 func (r *PostsService) Get(blogId string, postId string) *PostsGetCall {
-	c := &PostsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -4921,21 +5134,21 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsGetCall) FetchBody(fetchBody bool) *PostsGetCall {
-	c.urlParams_.Set("fetchBody", fmt.Sprintf("%v", fetchBody))
+	c.opt_["fetchBody"] = fetchBody
 	return c
 }
 
 // FetchImages sets the optional parameter "fetchImages": Whether image
 // URL metadata for each post is included (default: false).
 func (c *PostsGetCall) FetchImages(fetchImages bool) *PostsGetCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostsGetCall) MaxComments(maxComments int64) *PostsGetCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
@@ -4948,15 +5161,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostsGetCall) View(view string) *PostsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetCall) Fields(s ...googleapi.Field) *PostsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4966,13 +5179,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetCall) IfNoneMatch(entityTag string) *PostsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetCall) Context(ctx context.Context) *PostsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4980,17 +5193,33 @@
 
 func (c *PostsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBody"]; ok {
+		params.Set("fetchBody", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5102,25 +5331,25 @@
 // method id "blogger.posts.getByPath":
 
 type PostsGetByPathCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	path   string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // GetByPath: Retrieve a Post by Path.
 func (r *PostsService) GetByPath(blogId string, path string) *PostsGetByPathCall {
-	c := &PostsGetByPathCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetByPathCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
-	c.urlParams_.Set("path", path)
+	c.path = path
 	return c
 }
 
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostsGetByPathCall) MaxComments(maxComments int64) *PostsGetByPathCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
@@ -5133,15 +5362,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostsGetByPathCall) View(view string) *PostsGetByPathCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetByPathCall) Fields(s ...googleapi.Field) *PostsGetByPathCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5151,13 +5380,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetByPathCall) IfNoneMatch(entityTag string) *PostsGetByPathCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetByPathCall) Context(ctx context.Context) *PostsGetByPathCall {
 	c.ctx_ = ctx
 	return c
@@ -5165,16 +5394,27 @@
 
 func (c *PostsGetByPathCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("path", fmt.Sprintf("%v", c.path))
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/bypath")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5275,16 +5515,16 @@
 // method id "blogger.posts.insert":
 
 type PostsInsertCall struct {
-	s          *Service
-	blogId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Add a post.
 func (r *PostsService) Insert(blogId string, post *Post) *PostsInsertCall {
-	c := &PostsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.post = post
 	return c
@@ -5293,7 +5533,7 @@
 // FetchBody sets the optional parameter "fetchBody": Whether the body
 // content of the post is included with the result (default: true).
 func (c *PostsInsertCall) FetchBody(fetchBody bool) *PostsInsertCall {
-	c.urlParams_.Set("fetchBody", fmt.Sprintf("%v", fetchBody))
+	c.opt_["fetchBody"] = fetchBody
 	return c
 }
 
@@ -5301,28 +5541,28 @@
 // URL metadata for each post is included in the returned result
 // (default: false).
 func (c *PostsInsertCall) FetchImages(fetchImages bool) *PostsInsertCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // IsDraft sets the optional parameter "isDraft": Whether to create the
 // post as a draft (default: false).
 func (c *PostsInsertCall) IsDraft(isDraft bool) *PostsInsertCall {
-	c.urlParams_.Set("isDraft", fmt.Sprintf("%v", isDraft))
+	c.opt_["isDraft"] = isDraft
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsInsertCall) Fields(s ...googleapi.Field) *PostsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsInsertCall) Context(ctx context.Context) *PostsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5335,9 +5575,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBody"]; ok {
+		params.Set("fetchBody", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["isDraft"]; ok {
+		params.Set("isDraft", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5433,16 +5686,15 @@
 // method id "blogger.posts.list":
 
 type PostsListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of posts, possibly filtered.
 func (r *PostsService) List(blogId string) *PostsListCall {
-	c := &PostsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -5450,7 +5702,7 @@
 // EndDate sets the optional parameter "endDate": Latest post date to
 // fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) EndDate(endDate string) *PostsListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
@@ -5459,28 +5711,28 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsListCall) FetchBodies(fetchBodies bool) *PostsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // FetchImages sets the optional parameter "fetchImages": Whether image
 // URL metadata for each post is included.
 func (c *PostsListCall) FetchImages(fetchImages bool) *PostsListCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // Labels sets the optional parameter "labels": Comma-separated list of
 // labels to search for.
 func (c *PostsListCall) Labels(labels string) *PostsListCall {
-	c.urlParams_.Set("labels", labels)
+	c.opt_["labels"] = labels
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostsListCall) MaxResults(maxResults int64) *PostsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5490,21 +5742,21 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostsListCall) OrderBy(orderBy string) *PostsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostsListCall) PageToken(pageToken string) *PostsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) StartDate(startDate string) *PostsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -5515,8 +5767,8 @@
 //   "draft" - Draft (non-published) posts.
 //   "live" - Published posts
 //   "scheduled" - Posts that are scheduled to publish in the future.
-func (c *PostsListCall) Status(status []string) *PostsListCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *PostsListCall) Status(status string) *PostsListCall {
+	c.opt_["status"] = status
 	return c
 }
 
@@ -5529,15 +5781,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostsListCall) View(view string) *PostsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsListCall) Fields(s ...googleapi.Field) *PostsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5547,13 +5799,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsListCall) IfNoneMatch(entityTag string) *PostsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsListCall) Context(ctx context.Context) *PostsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5561,16 +5813,50 @@
 
 func (c *PostsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5727,17 +6013,17 @@
 // method id "blogger.posts.patch":
 
 type PostsPatchCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Update a post. This method supports patch semantics.
 func (r *PostsService) Patch(blogId string, postId string, post *Post) *PostsPatchCall {
-	c := &PostsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.post = post
@@ -5747,7 +6033,7 @@
 // FetchBody sets the optional parameter "fetchBody": Whether the body
 // content of the post is included with the result (default: true).
 func (c *PostsPatchCall) FetchBody(fetchBody bool) *PostsPatchCall {
-	c.urlParams_.Set("fetchBody", fmt.Sprintf("%v", fetchBody))
+	c.opt_["fetchBody"] = fetchBody
 	return c
 }
 
@@ -5755,42 +6041,42 @@
 // URL metadata for each post is included in the returned result
 // (default: false).
 func (c *PostsPatchCall) FetchImages(fetchImages bool) *PostsPatchCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to retrieve with the returned post.
 func (c *PostsPatchCall) MaxComments(maxComments int64) *PostsPatchCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
 // Publish sets the optional parameter "publish": Whether a publish
 // action should be performed when the post is updated (default: false).
 func (c *PostsPatchCall) Publish(publish bool) *PostsPatchCall {
-	c.urlParams_.Set("publish", fmt.Sprintf("%v", publish))
+	c.opt_["publish"] = publish
 	return c
 }
 
 // Revert sets the optional parameter "revert": Whether a revert action
 // should be performed when the post is updated (default: false).
 func (c *PostsPatchCall) Revert(revert bool) *PostsPatchCall {
-	c.urlParams_.Set("revert", fmt.Sprintf("%v", revert))
+	c.opt_["revert"] = revert
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsPatchCall) Fields(s ...googleapi.Field) *PostsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsPatchCall) Context(ctx context.Context) *PostsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5803,9 +6089,28 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBody"]; ok {
+		params.Set("fetchBody", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publish"]; ok {
+		params.Set("publish", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["revert"]; ok {
+		params.Set("revert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5920,17 +6225,17 @@
 // method id "blogger.posts.publish":
 
 type PostsPublishCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Publish: Publishes a draft post, optionally at the specific time of
 // the given publishDate parameter.
 func (r *PostsService) Publish(blogId string, postId string) *PostsPublishCall {
-	c := &PostsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -5942,21 +6247,21 @@
 // saved schedule date (if present), or the current time. If a future
 // date is given, the post will be scheduled to be published.
 func (c *PostsPublishCall) PublishDate(publishDate string) *PostsPublishCall {
-	c.urlParams_.Set("publishDate", publishDate)
+	c.opt_["publishDate"] = publishDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsPublishCall) Fields(s ...googleapi.Field) *PostsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsPublishCall) Context(ctx context.Context) *PostsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -5964,9 +6269,16 @@
 
 func (c *PostsPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["publishDate"]; ok {
+		params.Set("publishDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -6056,32 +6368,32 @@
 // method id "blogger.posts.revert":
 
 type PostsRevertCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Revert: Revert a published or scheduled post to draft state.
 func (r *PostsService) Revert(blogId string, postId string) *PostsRevertCall {
-	c := &PostsRevertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsRevertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsRevertCall) Fields(s ...googleapi.Field) *PostsRevertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsRevertCall) Context(ctx context.Context) *PostsRevertCall {
 	c.ctx_ = ctx
 	return c
@@ -6089,9 +6401,13 @@
 
 func (c *PostsRevertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/revert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -6175,18 +6491,18 @@
 // method id "blogger.posts.search":
 
 type PostsSearchCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	q      string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Search: Search for a post.
 func (r *PostsService) Search(blogId string, q string) *PostsSearchCall {
-	c := &PostsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
-	c.urlParams_.Set("q", q)
+	c.q = q
 	return c
 }
 
@@ -6195,7 +6511,7 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsSearchCall) FetchBodies(fetchBodies bool) *PostsSearchCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
@@ -6205,15 +6521,15 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostsSearchCall) OrderBy(orderBy string) *PostsSearchCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsSearchCall) Fields(s ...googleapi.Field) *PostsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6223,13 +6539,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsSearchCall) IfNoneMatch(entityTag string) *PostsSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsSearchCall) Context(ctx context.Context) *PostsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -6237,16 +6553,27 @@
 
 func (c *PostsSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("q", fmt.Sprintf("%v", c.q))
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6346,17 +6673,17 @@
 // method id "blogger.posts.update":
 
 type PostsUpdateCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Update a post.
 func (r *PostsService) Update(blogId string, postId string, post *Post) *PostsUpdateCall {
-	c := &PostsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.post = post
@@ -6366,7 +6693,7 @@
 // FetchBody sets the optional parameter "fetchBody": Whether the body
 // content of the post is included with the result (default: true).
 func (c *PostsUpdateCall) FetchBody(fetchBody bool) *PostsUpdateCall {
-	c.urlParams_.Set("fetchBody", fmt.Sprintf("%v", fetchBody))
+	c.opt_["fetchBody"] = fetchBody
 	return c
 }
 
@@ -6374,42 +6701,42 @@
 // URL metadata for each post is included in the returned result
 // (default: false).
 func (c *PostsUpdateCall) FetchImages(fetchImages bool) *PostsUpdateCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to retrieve with the returned post.
 func (c *PostsUpdateCall) MaxComments(maxComments int64) *PostsUpdateCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
 // Publish sets the optional parameter "publish": Whether a publish
 // action should be performed when the post is updated (default: false).
 func (c *PostsUpdateCall) Publish(publish bool) *PostsUpdateCall {
-	c.urlParams_.Set("publish", fmt.Sprintf("%v", publish))
+	c.opt_["publish"] = publish
 	return c
 }
 
 // Revert sets the optional parameter "revert": Whether a revert action
 // should be performed when the post is updated (default: false).
 func (c *PostsUpdateCall) Revert(revert bool) *PostsUpdateCall {
-	c.urlParams_.Set("revert", fmt.Sprintf("%v", revert))
+	c.opt_["revert"] = revert
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsUpdateCall) Fields(s ...googleapi.Field) *PostsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsUpdateCall) Context(ctx context.Context) *PostsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6422,9 +6749,28 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBody"]; ok {
+		params.Set("fetchBody", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publish"]; ok {
+		params.Set("publish", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["revert"]; ok {
+		params.Set("revert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -6539,25 +6885,24 @@
 // method id "blogger.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one user by ID.
 func (r *UsersService) Get(userId string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6567,13 +6912,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6581,16 +6926,20 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/books/v1/books-gen.go b/books/v1/books-gen.go
index 0f49837..1d125b2 100644
--- a/books/v1/books-gen.go
+++ b/books/v1/books-gen.go
@@ -3007,18 +3007,17 @@
 // method id "books.bookshelves.get":
 
 type BookshelvesGetCall struct {
-	s            *Service
-	userId       string
-	shelf        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	shelf  string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves metadata for a specific bookshelf for the specified
 // user.
 func (r *BookshelvesService) Get(userId string, shelf string) *BookshelvesGetCall {
-	c := &BookshelvesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BookshelvesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.shelf = shelf
 	return c
@@ -3027,15 +3026,15 @@
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *BookshelvesGetCall) Source(source string) *BookshelvesGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BookshelvesGetCall) Fields(s ...googleapi.Field) *BookshelvesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3045,13 +3044,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BookshelvesGetCall) IfNoneMatch(entityTag string) *BookshelvesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BookshelvesGetCall) Context(ctx context.Context) *BookshelvesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3059,17 +3058,24 @@
 
 func (c *BookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/bookshelves/{shelf}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"shelf":  c.shelf,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3153,16 +3159,15 @@
 // method id "books.bookshelves.list":
 
 type BookshelvesListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of public bookshelves for the specified user.
 func (r *BookshelvesService) List(userId string) *BookshelvesListCall {
-	c := &BookshelvesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BookshelvesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -3170,15 +3175,15 @@
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *BookshelvesListCall) Source(source string) *BookshelvesListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BookshelvesListCall) Fields(s ...googleapi.Field) *BookshelvesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3188,13 +3193,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BookshelvesListCall) IfNoneMatch(entityTag string) *BookshelvesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BookshelvesListCall) Context(ctx context.Context) *BookshelvesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3202,16 +3207,23 @@
 
 func (c *BookshelvesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/bookshelves")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3288,18 +3300,17 @@
 // method id "books.bookshelves.volumes.list":
 
 type BookshelvesVolumesListCall struct {
-	s            *Service
-	userId       string
-	shelf        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	shelf  string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves volumes in a specific bookshelf for the specified
 // user.
 func (r *BookshelvesVolumesService) List(userId string, shelf string) *BookshelvesVolumesListCall {
-	c := &BookshelvesVolumesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BookshelvesVolumesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.shelf = shelf
 	return c
@@ -3308,36 +3319,36 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *BookshelvesVolumesListCall) MaxResults(maxResults int64) *BookshelvesVolumesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // ShowPreorders sets the optional parameter "showPreorders": Set to
 // true to show pre-ordered books. Defaults to false.
 func (c *BookshelvesVolumesListCall) ShowPreorders(showPreorders bool) *BookshelvesVolumesListCall {
-	c.urlParams_.Set("showPreorders", fmt.Sprintf("%v", showPreorders))
+	c.opt_["showPreorders"] = showPreorders
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *BookshelvesVolumesListCall) Source(source string) *BookshelvesVolumesListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first element to return (starts at 0)
 func (c *BookshelvesVolumesListCall) StartIndex(startIndex int64) *BookshelvesVolumesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BookshelvesVolumesListCall) Fields(s ...googleapi.Field) *BookshelvesVolumesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3347,13 +3358,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BookshelvesVolumesListCall) IfNoneMatch(entityTag string) *BookshelvesVolumesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BookshelvesVolumesListCall) Context(ctx context.Context) *BookshelvesVolumesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3361,17 +3372,33 @@
 
 func (c *BookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showPreorders"]; ok {
+		params.Set("showPreorders", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/bookshelves/{shelf}/volumes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"shelf":  c.shelf,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3474,55 +3501,55 @@
 // method id "books.cloudloading.addBook":
 
 type CloudloadingAddBookCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // AddBook:
 func (r *CloudloadingService) AddBook() *CloudloadingAddBookCall {
-	c := &CloudloadingAddBookCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CloudloadingAddBookCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // DriveDocumentId sets the optional parameter "drive_document_id": A
 // drive document id. The upload_client_token must not be set.
 func (c *CloudloadingAddBookCall) DriveDocumentId(driveDocumentId string) *CloudloadingAddBookCall {
-	c.urlParams_.Set("driveDocumentId", driveDocumentId)
+	c.opt_["drive_document_id"] = driveDocumentId
 	return c
 }
 
 // MimeType sets the optional parameter "mime_type": The document MIME
 // type. It can be set only if the drive_document_id is set.
 func (c *CloudloadingAddBookCall) MimeType(mimeType string) *CloudloadingAddBookCall {
-	c.urlParams_.Set("mimeType", mimeType)
+	c.opt_["mime_type"] = mimeType
 	return c
 }
 
 // Name sets the optional parameter "name": The document name. It can be
 // set only if the drive_document_id is set.
 func (c *CloudloadingAddBookCall) Name(name string) *CloudloadingAddBookCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // UploadClientToken sets the optional parameter "upload_client_token":
 func (c *CloudloadingAddBookCall) UploadClientToken(uploadClientToken string) *CloudloadingAddBookCall {
-	c.urlParams_.Set("uploadClientToken", uploadClientToken)
+	c.opt_["upload_client_token"] = uploadClientToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CloudloadingAddBookCall) Fields(s ...googleapi.Field) *CloudloadingAddBookCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CloudloadingAddBookCall) Context(ctx context.Context) *CloudloadingAddBookCall {
 	c.ctx_ = ctx
 	return c
@@ -3530,9 +3557,25 @@
 
 func (c *CloudloadingAddBookCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["drive_document_id"]; ok {
+		params.Set("drive_document_id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mime_type"]; ok {
+		params.Set("mime_type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["upload_client_token"]; ok {
+		params.Set("upload_client_token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "cloudloading/addBook")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -3616,29 +3659,30 @@
 // method id "books.cloudloading.deleteBook":
 
 type CloudloadingDeleteBookCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // DeleteBook: Remove the book and its contents
 func (r *CloudloadingService) DeleteBook(volumeId string) *CloudloadingDeleteBookCall {
-	c := &CloudloadingDeleteBookCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("volumeId", volumeId)
+	c := &CloudloadingDeleteBookCall{s: r.s, opt_: make(map[string]interface{})}
+	c.volumeId = volumeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CloudloadingDeleteBookCall) Fields(s ...googleapi.Field) *CloudloadingDeleteBookCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CloudloadingDeleteBookCall) Context(ctx context.Context) *CloudloadingDeleteBookCall {
 	c.ctx_ = ctx
 	return c
@@ -3646,9 +3690,14 @@
 
 func (c *CloudloadingDeleteBookCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "cloudloading/deleteBook")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -3697,28 +3746,28 @@
 type CloudloadingUpdateBookCall struct {
 	s                         *Service
 	bookscloudloadingresource *BooksCloudloadingResource
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // UpdateBook:
 func (r *CloudloadingService) UpdateBook(bookscloudloadingresource *BooksCloudloadingResource) *CloudloadingUpdateBookCall {
-	c := &CloudloadingUpdateBookCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CloudloadingUpdateBookCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bookscloudloadingresource = bookscloudloadingresource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CloudloadingUpdateBookCall) Fields(s ...googleapi.Field) *CloudloadingUpdateBookCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CloudloadingUpdateBookCall) Context(ctx context.Context) *CloudloadingUpdateBookCall {
 	c.ctx_ = ctx
 	return c
@@ -3731,9 +3780,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "cloudloading/updateBook")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3800,25 +3853,25 @@
 // method id "books.dictionary.listOfflineMetadata":
 
 type DictionaryListOfflineMetadataCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	cpksver string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // ListOfflineMetadata: Returns a list of offline dictionary meatadata
 // available
 func (r *DictionaryService) ListOfflineMetadata(cpksver string) *DictionaryListOfflineMetadataCall {
-	c := &DictionaryListOfflineMetadataCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("cpksver", cpksver)
+	c := &DictionaryListOfflineMetadataCall{s: r.s, opt_: make(map[string]interface{})}
+	c.cpksver = cpksver
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DictionaryListOfflineMetadataCall) Fields(s ...googleapi.Field) *DictionaryListOfflineMetadataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3828,13 +3881,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DictionaryListOfflineMetadataCall) IfNoneMatch(entityTag string) *DictionaryListOfflineMetadataCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DictionaryListOfflineMetadataCall) Context(ctx context.Context) *DictionaryListOfflineMetadataCall {
 	c.ctx_ = ctx
 	return c
@@ -3842,14 +3895,19 @@
 
 func (c *DictionaryListOfflineMetadataCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("cpksver", fmt.Sprintf("%v", c.cpksver))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "dictionary/listOfflineMetadata")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3921,17 +3979,16 @@
 // method id "books.layers.get":
 
 type LayersGetCall struct {
-	s            *Service
-	volumeId     string
-	summaryId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	volumeId  string
+	summaryId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets the layer summary for a volume.
 func (r *LayersService) Get(volumeId string, summaryId string) *LayersGetCall {
-	c := &LayersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	c.summaryId = summaryId
 	return c
@@ -3940,22 +3997,22 @@
 // ContentVersion sets the optional parameter "contentVersion": The
 // content version for the requested volume.
 func (c *LayersGetCall) ContentVersion(contentVersion string) *LayersGetCall {
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.opt_["contentVersion"] = contentVersion
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *LayersGetCall) Source(source string) *LayersGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersGetCall) Fields(s ...googleapi.Field) *LayersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3965,13 +4022,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersGetCall) IfNoneMatch(entityTag string) *LayersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersGetCall) Context(ctx context.Context) *LayersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3979,17 +4036,27 @@
 
 func (c *LayersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["contentVersion"]; ok {
+		params.Set("contentVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layersummary/{summaryId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId":  c.volumeId,
 		"summaryId": c.summaryId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4078,16 +4145,15 @@
 // method id "books.layers.list":
 
 type LayersListCall struct {
-	s            *Service
-	volumeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: List the layer summaries for a volume.
 func (r *LayersService) List(volumeId string) *LayersListCall {
-	c := &LayersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	return c
 }
@@ -4095,36 +4161,36 @@
 // ContentVersion sets the optional parameter "contentVersion": The
 // content version for the requested volume.
 func (c *LayersListCall) ContentVersion(contentVersion string) *LayersListCall {
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.opt_["contentVersion"] = contentVersion
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *LayersListCall) MaxResults(maxResults int64) *LayersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous page.
 func (c *LayersListCall) PageToken(pageToken string) *LayersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *LayersListCall) Source(source string) *LayersListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersListCall) Fields(s ...googleapi.Field) *LayersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4134,13 +4200,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersListCall) IfNoneMatch(entityTag string) *LayersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersListCall) Context(ctx context.Context) *LayersListCall {
 	c.ctx_ = ctx
 	return c
@@ -4148,16 +4214,32 @@
 
 func (c *LayersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["contentVersion"]; ok {
+		params.Set("contentVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layersummary")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4256,18 +4338,18 @@
 	volumeId         string
 	layerId          string
 	annotationDataId string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	contentVersion   string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Gets the annotation data.
 func (r *LayersAnnotationDataService) Get(volumeId string, layerId string, annotationDataId string, contentVersion string) *LayersAnnotationDataGetCall {
-	c := &LayersAnnotationDataGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersAnnotationDataGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	c.layerId = layerId
 	c.annotationDataId = annotationDataId
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.contentVersion = contentVersion
 	return c
 }
 
@@ -4275,14 +4357,14 @@
 // "allowWebDefinitions": For the dictionary layer. Whether or not to
 // allow web definitions.
 func (c *LayersAnnotationDataGetCall) AllowWebDefinitions(allowWebDefinitions bool) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("allowWebDefinitions", fmt.Sprintf("%v", allowWebDefinitions))
+	c.opt_["allowWebDefinitions"] = allowWebDefinitions
 	return c
 }
 
 // H sets the optional parameter "h": The requested pixel height for any
 // images. If height is provided width must also be provided.
 func (c *LayersAnnotationDataGetCall) H(h int64) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("h", fmt.Sprintf("%v", h))
+	c.opt_["h"] = h
 	return c
 }
 
@@ -4290,36 +4372,36 @@
 // for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
 // 'en_US'.
 func (c *LayersAnnotationDataGetCall) Locale(locale string) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // Scale sets the optional parameter "scale": The requested scale for
 // the image.
 func (c *LayersAnnotationDataGetCall) Scale(scale int64) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("scale", fmt.Sprintf("%v", scale))
+	c.opt_["scale"] = scale
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *LayersAnnotationDataGetCall) Source(source string) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // W sets the optional parameter "w": The requested pixel width for any
 // images. If width is provided height must also be provided.
 func (c *LayersAnnotationDataGetCall) W(w int64) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("w", fmt.Sprintf("%v", w))
+	c.opt_["w"] = w
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersAnnotationDataGetCall) Fields(s ...googleapi.Field) *LayersAnnotationDataGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4329,13 +4411,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersAnnotationDataGetCall) IfNoneMatch(entityTag string) *LayersAnnotationDataGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersAnnotationDataGetCall) Context(ctx context.Context) *LayersAnnotationDataGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4343,9 +4425,32 @@
 
 func (c *LayersAnnotationDataGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("contentVersion", fmt.Sprintf("%v", c.contentVersion))
+	if v, ok := c.opt_["allowWebDefinitions"]; ok {
+		params.Set("allowWebDefinitions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["h"]; ok {
+		params.Set("h", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scale"]; ok {
+		params.Set("scale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["w"]; ok {
+		params.Set("w", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId":         c.volumeId,
@@ -4353,8 +4458,8 @@
 		"annotationDataId": c.annotationDataId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4481,35 +4586,35 @@
 // method id "books.layers.annotationData.list":
 
 type LayersAnnotationDataListCall struct {
-	s            *Service
-	volumeId     string
-	layerId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s              *Service
+	volumeId       string
+	layerId        string
+	contentVersion string
+	opt_           map[string]interface{}
+	ctx_           context.Context
 }
 
 // List: Gets the annotation data for a volume and layer.
 func (r *LayersAnnotationDataService) List(volumeId string, layerId string, contentVersion string) *LayersAnnotationDataListCall {
-	c := &LayersAnnotationDataListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersAnnotationDataListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	c.layerId = layerId
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.contentVersion = contentVersion
 	return c
 }
 
 // AnnotationDataId sets the optional parameter "annotationDataId": The
 // list of Annotation Data Ids to retrieve. Pagination is ignored if
 // this is set.
-func (c *LayersAnnotationDataListCall) AnnotationDataId(annotationDataId []string) *LayersAnnotationDataListCall {
-	c.urlParams_.SetMulti("annotationDataId", append([]string{}, annotationDataId...))
+func (c *LayersAnnotationDataListCall) AnnotationDataId(annotationDataId string) *LayersAnnotationDataListCall {
+	c.opt_["annotationDataId"] = annotationDataId
 	return c
 }
 
 // H sets the optional parameter "h": The requested pixel height for any
 // images. If height is provided width must also be provided.
 func (c *LayersAnnotationDataListCall) H(h int64) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("h", fmt.Sprintf("%v", h))
+	c.opt_["h"] = h
 	return c
 }
 
@@ -4517,35 +4622,35 @@
 // for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
 // 'en_US'.
 func (c *LayersAnnotationDataListCall) Locale(locale string) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *LayersAnnotationDataListCall) MaxResults(maxResults int64) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous page.
 func (c *LayersAnnotationDataListCall) PageToken(pageToken string) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Scale sets the optional parameter "scale": The requested scale for
 // the image.
 func (c *LayersAnnotationDataListCall) Scale(scale int64) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("scale", fmt.Sprintf("%v", scale))
+	c.opt_["scale"] = scale
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *LayersAnnotationDataListCall) Source(source string) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
@@ -4553,7 +4658,7 @@
 // timestamp to restrict to items updated prior to this timestamp
 // (exclusive).
 func (c *LayersAnnotationDataListCall) UpdatedMax(updatedMax string) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("updatedMax", updatedMax)
+	c.opt_["updatedMax"] = updatedMax
 	return c
 }
 
@@ -4561,22 +4666,22 @@
 // timestamp to restrict to items updated since this timestamp
 // (inclusive).
 func (c *LayersAnnotationDataListCall) UpdatedMin(updatedMin string) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
 // W sets the optional parameter "w": The requested pixel width for any
 // images. If width is provided height must also be provided.
 func (c *LayersAnnotationDataListCall) W(w int64) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("w", fmt.Sprintf("%v", w))
+	c.opt_["w"] = w
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersAnnotationDataListCall) Fields(s ...googleapi.Field) *LayersAnnotationDataListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4586,13 +4691,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersAnnotationDataListCall) IfNoneMatch(entityTag string) *LayersAnnotationDataListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersAnnotationDataListCall) Context(ctx context.Context) *LayersAnnotationDataListCall {
 	c.ctx_ = ctx
 	return c
@@ -4600,17 +4705,52 @@
 
 func (c *LayersAnnotationDataListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("contentVersion", fmt.Sprintf("%v", c.contentVersion))
+	if v, ok := c.opt_["annotationDataId"]; ok {
+		params.Set("annotationDataId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["h"]; ok {
+		params.Set("h", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scale"]; ok {
+		params.Set("scale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMax"]; ok {
+		params.Set("updatedMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["w"]; ok {
+		params.Set("w", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}/data")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
 		"layerId":  c.layerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4758,14 +4898,13 @@
 	volumeId     string
 	layerId      string
 	annotationId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets the volume annotation.
 func (r *LayersVolumeAnnotationsService) Get(volumeId string, layerId string, annotationId string) *LayersVolumeAnnotationsGetCall {
-	c := &LayersVolumeAnnotationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersVolumeAnnotationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	c.layerId = layerId
 	c.annotationId = annotationId
@@ -4776,22 +4915,22 @@
 // for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
 // 'en_US'.
 func (c *LayersVolumeAnnotationsGetCall) Locale(locale string) *LayersVolumeAnnotationsGetCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *LayersVolumeAnnotationsGetCall) Source(source string) *LayersVolumeAnnotationsGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersVolumeAnnotationsGetCall) Fields(s ...googleapi.Field) *LayersVolumeAnnotationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4801,13 +4940,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersVolumeAnnotationsGetCall) IfNoneMatch(entityTag string) *LayersVolumeAnnotationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersVolumeAnnotationsGetCall) Context(ctx context.Context) *LayersVolumeAnnotationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4815,9 +4954,19 @@
 
 func (c *LayersVolumeAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId":     c.volumeId,
@@ -4825,8 +4974,8 @@
 		"annotationId": c.annotationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4922,34 +5071,34 @@
 // method id "books.layers.volumeAnnotations.list":
 
 type LayersVolumeAnnotationsListCall struct {
-	s            *Service
-	volumeId     string
-	layerId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s              *Service
+	volumeId       string
+	layerId        string
+	contentVersion string
+	opt_           map[string]interface{}
+	ctx_           context.Context
 }
 
 // List: Gets the volume annotations for a volume and layer.
 func (r *LayersVolumeAnnotationsService) List(volumeId string, layerId string, contentVersion string) *LayersVolumeAnnotationsListCall {
-	c := &LayersVolumeAnnotationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersVolumeAnnotationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	c.layerId = layerId
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.contentVersion = contentVersion
 	return c
 }
 
 // EndOffset sets the optional parameter "endOffset": The end offset to
 // end retrieving data from.
 func (c *LayersVolumeAnnotationsListCall) EndOffset(endOffset string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("endOffset", endOffset)
+	c.opt_["endOffset"] = endOffset
 	return c
 }
 
 // EndPosition sets the optional parameter "endPosition": The end
 // position to end retrieving data from.
 func (c *LayersVolumeAnnotationsListCall) EndPosition(endPosition string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("endPosition", endPosition)
+	c.opt_["endPosition"] = endPosition
 	return c
 }
 
@@ -4957,21 +5106,21 @@
 // for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
 // 'en_US'.
 func (c *LayersVolumeAnnotationsListCall) Locale(locale string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *LayersVolumeAnnotationsListCall) MaxResults(maxResults int64) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous page.
 func (c *LayersVolumeAnnotationsListCall) PageToken(pageToken string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4979,28 +5128,28 @@
 // return deleted annotations. updatedMin must be in the request to use
 // this. Defaults to false.
 func (c *LayersVolumeAnnotationsListCall) ShowDeleted(showDeleted bool) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *LayersVolumeAnnotationsListCall) Source(source string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // StartOffset sets the optional parameter "startOffset": The start
 // offset to start retrieving data from.
 func (c *LayersVolumeAnnotationsListCall) StartOffset(startOffset string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("startOffset", startOffset)
+	c.opt_["startOffset"] = startOffset
 	return c
 }
 
 // StartPosition sets the optional parameter "startPosition": The start
 // position to start retrieving data from.
 func (c *LayersVolumeAnnotationsListCall) StartPosition(startPosition string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("startPosition", startPosition)
+	c.opt_["startPosition"] = startPosition
 	return c
 }
 
@@ -5008,7 +5157,7 @@
 // timestamp to restrict to items updated prior to this timestamp
 // (exclusive).
 func (c *LayersVolumeAnnotationsListCall) UpdatedMax(updatedMax string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("updatedMax", updatedMax)
+	c.opt_["updatedMax"] = updatedMax
 	return c
 }
 
@@ -5016,7 +5165,7 @@
 // timestamp to restrict to items updated since this timestamp
 // (inclusive).
 func (c *LayersVolumeAnnotationsListCall) UpdatedMin(updatedMin string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
@@ -5024,15 +5173,15 @@
 // "volumeAnnotationsVersion": The version of the volume annotations
 // that you are requesting.
 func (c *LayersVolumeAnnotationsListCall) VolumeAnnotationsVersion(volumeAnnotationsVersion string) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("volumeAnnotationsVersion", volumeAnnotationsVersion)
+	c.opt_["volumeAnnotationsVersion"] = volumeAnnotationsVersion
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersVolumeAnnotationsListCall) Fields(s ...googleapi.Field) *LayersVolumeAnnotationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5042,13 +5191,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersVolumeAnnotationsListCall) IfNoneMatch(entityTag string) *LayersVolumeAnnotationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersVolumeAnnotationsListCall) Context(ctx context.Context) *LayersVolumeAnnotationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5056,17 +5205,58 @@
 
 func (c *LayersVolumeAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("contentVersion", fmt.Sprintf("%v", c.contentVersion))
+	if v, ok := c.opt_["endOffset"]; ok {
+		params.Set("endOffset", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endPosition"]; ok {
+		params.Set("endPosition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startOffset"]; ok {
+		params.Set("startOffset", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startPosition"]; ok {
+		params.Set("startPosition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMax"]; ok {
+		params.Set("updatedMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["volumeAnnotationsVersion"]; ok {
+		params.Set("volumeAnnotationsVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
 		"layerId":  c.layerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5215,23 +5405,22 @@
 // method id "books.myconfig.getUserSettings":
 
 type MyconfigGetUserSettingsCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetUserSettings: Gets the current settings for the user.
 func (r *MyconfigService) GetUserSettings() *MyconfigGetUserSettingsCall {
-	c := &MyconfigGetUserSettingsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MyconfigGetUserSettingsCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MyconfigGetUserSettingsCall) Fields(s ...googleapi.Field) *MyconfigGetUserSettingsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5241,13 +5430,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MyconfigGetUserSettingsCall) IfNoneMatch(entityTag string) *MyconfigGetUserSettingsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MyconfigGetUserSettingsCall) Context(ctx context.Context) *MyconfigGetUserSettingsCall {
 	c.ctx_ = ctx
 	return c
@@ -5255,14 +5444,18 @@
 
 func (c *MyconfigGetUserSettingsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/getUserSettings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5323,44 +5516,46 @@
 // method id "books.myconfig.releaseDownloadAccess":
 
 type MyconfigReleaseDownloadAccessCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	volumeIds []string
+	cpksver   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // ReleaseDownloadAccess: Release downloaded content access restriction.
 func (r *MyconfigService) ReleaseDownloadAccess(volumeIds []string, cpksver string) *MyconfigReleaseDownloadAccessCall {
-	c := &MyconfigReleaseDownloadAccessCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.SetMulti("volumeIds", append([]string{}, volumeIds...))
-	c.urlParams_.Set("cpksver", cpksver)
+	c := &MyconfigReleaseDownloadAccessCall{s: r.s, opt_: make(map[string]interface{})}
+	c.volumeIds = volumeIds
+	c.cpksver = cpksver
 	return c
 }
 
 // Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
 // codes for message localization, i.e. en_US.
 func (c *MyconfigReleaseDownloadAccessCall) Locale(locale string) *MyconfigReleaseDownloadAccessCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MyconfigReleaseDownloadAccessCall) Source(source string) *MyconfigReleaseDownloadAccessCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MyconfigReleaseDownloadAccessCall) Fields(s ...googleapi.Field) *MyconfigReleaseDownloadAccessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MyconfigReleaseDownloadAccessCall) Context(ctx context.Context) *MyconfigReleaseDownloadAccessCall {
 	c.ctx_ = ctx
 	return c
@@ -5368,9 +5563,23 @@
 
 func (c *MyconfigReleaseDownloadAccessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("cpksver", fmt.Sprintf("%v", c.cpksver))
+	for _, v := range c.volumeIds {
+		params.Add("volumeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/releaseDownloadAccess")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -5462,18 +5671,22 @@
 // method id "books.myconfig.requestAccess":
 
 type MyconfigRequestAccessCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	source   string
+	volumeId string
+	nonce    string
+	cpksver  string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // RequestAccess: Request concurrent and download access restrictions.
 func (r *MyconfigService) RequestAccess(source string, volumeId string, nonce string, cpksver string) *MyconfigRequestAccessCall {
-	c := &MyconfigRequestAccessCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("source", source)
-	c.urlParams_.Set("volumeId", volumeId)
-	c.urlParams_.Set("nonce", nonce)
-	c.urlParams_.Set("cpksver", cpksver)
+	c := &MyconfigRequestAccessCall{s: r.s, opt_: make(map[string]interface{})}
+	c.source = source
+	c.volumeId = volumeId
+	c.nonce = nonce
+	c.cpksver = cpksver
 	return c
 }
 
@@ -5485,28 +5698,28 @@
 //   "CONCURRENT" - Concurrent access license.
 //   "DOWNLOAD" - Offline download access license.
 func (c *MyconfigRequestAccessCall) LicenseTypes(licenseTypes string) *MyconfigRequestAccessCall {
-	c.urlParams_.Set("licenseTypes", licenseTypes)
+	c.opt_["licenseTypes"] = licenseTypes
 	return c
 }
 
 // Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
 // codes for message localization, i.e. en_US.
 func (c *MyconfigRequestAccessCall) Locale(locale string) *MyconfigRequestAccessCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MyconfigRequestAccessCall) Fields(s ...googleapi.Field) *MyconfigRequestAccessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MyconfigRequestAccessCall) Context(ctx context.Context) *MyconfigRequestAccessCall {
 	c.ctx_ = ctx
 	return c
@@ -5514,9 +5727,23 @@
 
 func (c *MyconfigRequestAccessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("cpksver", fmt.Sprintf("%v", c.cpksver))
+	params.Set("nonce", fmt.Sprintf("%v", c.nonce))
+	params.Set("source", fmt.Sprintf("%v", c.source))
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	if v, ok := c.opt_["licenseTypes"]; ok {
+		params.Set("licenseTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/requestAccess")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -5631,18 +5858,21 @@
 // method id "books.myconfig.syncVolumeLicenses":
 
 type MyconfigSyncVolumeLicensesCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	source  string
+	nonce   string
+	cpksver string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // SyncVolumeLicenses: Request downloaded content access for specified
 // volumes on the My eBooks shelf.
 func (r *MyconfigService) SyncVolumeLicenses(source string, nonce string, cpksver string) *MyconfigSyncVolumeLicensesCall {
-	c := &MyconfigSyncVolumeLicensesCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("source", source)
-	c.urlParams_.Set("nonce", nonce)
-	c.urlParams_.Set("cpksver", cpksver)
+	c := &MyconfigSyncVolumeLicensesCall{s: r.s, opt_: make(map[string]interface{})}
+	c.source = source
+	c.nonce = nonce
+	c.cpksver = cpksver
 	return c
 }
 
@@ -5651,43 +5881,43 @@
 //
 // Possible values:
 //   "RENTALS" - Client supports rentals.
-func (c *MyconfigSyncVolumeLicensesCall) Features(features []string) *MyconfigSyncVolumeLicensesCall {
-	c.urlParams_.SetMulti("features", append([]string{}, features...))
+func (c *MyconfigSyncVolumeLicensesCall) Features(features string) *MyconfigSyncVolumeLicensesCall {
+	c.opt_["features"] = features
 	return c
 }
 
 // Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
 // codes for message localization, i.e. en_US.
 func (c *MyconfigSyncVolumeLicensesCall) Locale(locale string) *MyconfigSyncVolumeLicensesCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // ShowPreorders sets the optional parameter "showPreorders": Set to
 // true to show pre-ordered books. Defaults to false.
 func (c *MyconfigSyncVolumeLicensesCall) ShowPreorders(showPreorders bool) *MyconfigSyncVolumeLicensesCall {
-	c.urlParams_.Set("showPreorders", fmt.Sprintf("%v", showPreorders))
+	c.opt_["showPreorders"] = showPreorders
 	return c
 }
 
 // VolumeIds sets the optional parameter "volumeIds": The volume(s) to
 // request download restrictions for.
-func (c *MyconfigSyncVolumeLicensesCall) VolumeIds(volumeIds []string) *MyconfigSyncVolumeLicensesCall {
-	c.urlParams_.SetMulti("volumeIds", append([]string{}, volumeIds...))
+func (c *MyconfigSyncVolumeLicensesCall) VolumeIds(volumeIds string) *MyconfigSyncVolumeLicensesCall {
+	c.opt_["volumeIds"] = volumeIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MyconfigSyncVolumeLicensesCall) Fields(s ...googleapi.Field) *MyconfigSyncVolumeLicensesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MyconfigSyncVolumeLicensesCall) Context(ctx context.Context) *MyconfigSyncVolumeLicensesCall {
 	c.ctx_ = ctx
 	return c
@@ -5695,9 +5925,28 @@
 
 func (c *MyconfigSyncVolumeLicensesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("cpksver", fmt.Sprintf("%v", c.cpksver))
+	params.Set("nonce", fmt.Sprintf("%v", c.nonce))
+	params.Set("source", fmt.Sprintf("%v", c.source))
+	if v, ok := c.opt_["features"]; ok {
+		params.Set("features", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showPreorders"]; ok {
+		params.Set("showPreorders", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["volumeIds"]; ok {
+		params.Set("volumeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/syncVolumeLicenses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -5815,7 +6064,7 @@
 type MyconfigUpdateUserSettingsCall struct {
 	s            *Service
 	usersettings *Usersettings
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -5823,22 +6072,22 @@
 // is specified, it will overwrite the existing sub-object stored in the
 // server. Unspecified sub-objects will retain the existing value.
 func (r *MyconfigService) UpdateUserSettings(usersettings *Usersettings) *MyconfigUpdateUserSettingsCall {
-	c := &MyconfigUpdateUserSettingsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MyconfigUpdateUserSettingsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.usersettings = usersettings
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MyconfigUpdateUserSettingsCall) Fields(s ...googleapi.Field) *MyconfigUpdateUserSettingsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MyconfigUpdateUserSettingsCall) Context(ctx context.Context) *MyconfigUpdateUserSettingsCall {
 	c.ctx_ = ctx
 	return c
@@ -5851,9 +6100,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/updateUserSettings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5922,13 +6175,13 @@
 type MylibraryAnnotationsDeleteCall struct {
 	s            *Service
 	annotationId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes an annotation.
 func (r *MylibraryAnnotationsService) Delete(annotationId string) *MylibraryAnnotationsDeleteCall {
-	c := &MylibraryAnnotationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryAnnotationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationId = annotationId
 	return c
 }
@@ -5936,21 +6189,21 @@
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryAnnotationsDeleteCall) Source(source string) *MylibraryAnnotationsDeleteCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryAnnotationsDeleteCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryAnnotationsDeleteCall) Context(ctx context.Context) *MylibraryAnnotationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5958,9 +6211,16 @@
 
 func (c *MylibraryAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationId": c.annotationId,
@@ -6016,13 +6276,13 @@
 type MylibraryAnnotationsInsertCall struct {
 	s          *Service
 	annotation *Annotation
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new annotation.
 func (r *MylibraryAnnotationsService) Insert(annotation *Annotation) *MylibraryAnnotationsInsertCall {
-	c := &MylibraryAnnotationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryAnnotationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotation = annotation
 	return c
 }
@@ -6030,7 +6290,7 @@
 // Country sets the optional parameter "country": ISO-3166-1 code to
 // override the IP-based location.
 func (c *MylibraryAnnotationsInsertCall) Country(country string) *MylibraryAnnotationsInsertCall {
-	c.urlParams_.Set("country", country)
+	c.opt_["country"] = country
 	return c
 }
 
@@ -6038,28 +6298,28 @@
 // "showOnlySummaryInResponse": Requests that only the summary of the
 // specified layer be provided in the response.
 func (c *MylibraryAnnotationsInsertCall) ShowOnlySummaryInResponse(showOnlySummaryInResponse bool) *MylibraryAnnotationsInsertCall {
-	c.urlParams_.Set("showOnlySummaryInResponse", fmt.Sprintf("%v", showOnlySummaryInResponse))
+	c.opt_["showOnlySummaryInResponse"] = showOnlySummaryInResponse
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryAnnotationsInsertCall) Source(source string) *MylibraryAnnotationsInsertCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryAnnotationsInsertCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryAnnotationsInsertCall) Context(ctx context.Context) *MylibraryAnnotationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6072,9 +6332,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["country"]; ok {
+		params.Set("country", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showOnlySummaryInResponse"]; ok {
+		params.Set("showOnlySummaryInResponse", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6158,50 +6431,49 @@
 // method id "books.mylibrary.annotations.list":
 
 type MylibraryAnnotationsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of annotations, possibly filtered.
 func (r *MylibraryAnnotationsService) List() *MylibraryAnnotationsListCall {
-	c := &MylibraryAnnotationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryAnnotationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // ContentVersion sets the optional parameter "contentVersion": The
 // content version for the requested volume.
 func (c *MylibraryAnnotationsListCall) ContentVersion(contentVersion string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.opt_["contentVersion"] = contentVersion
 	return c
 }
 
 // LayerId sets the optional parameter "layerId": The layer ID to limit
 // annotation by.
 func (c *MylibraryAnnotationsListCall) LayerId(layerId string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("layerId", layerId)
+	c.opt_["layerId"] = layerId
 	return c
 }
 
 // LayerIds sets the optional parameter "layerIds": The layer ID(s) to
 // limit annotation by.
-func (c *MylibraryAnnotationsListCall) LayerIds(layerIds []string) *MylibraryAnnotationsListCall {
-	c.urlParams_.SetMulti("layerIds", append([]string{}, layerIds...))
+func (c *MylibraryAnnotationsListCall) LayerIds(layerIds string) *MylibraryAnnotationsListCall {
+	c.opt_["layerIds"] = layerIds
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *MylibraryAnnotationsListCall) MaxResults(maxResults int64) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous page.
 func (c *MylibraryAnnotationsListCall) PageToken(pageToken string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6209,14 +6481,14 @@
 // return deleted annotations. updatedMin must be in the request to use
 // this. Defaults to false.
 func (c *MylibraryAnnotationsListCall) ShowDeleted(showDeleted bool) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryAnnotationsListCall) Source(source string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
@@ -6224,7 +6496,7 @@
 // timestamp to restrict to items updated prior to this timestamp
 // (exclusive).
 func (c *MylibraryAnnotationsListCall) UpdatedMax(updatedMax string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("updatedMax", updatedMax)
+	c.opt_["updatedMax"] = updatedMax
 	return c
 }
 
@@ -6232,22 +6504,22 @@
 // timestamp to restrict to items updated since this timestamp
 // (inclusive).
 func (c *MylibraryAnnotationsListCall) UpdatedMin(updatedMin string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
 // VolumeId sets the optional parameter "volumeId": The volume to
 // restrict annotations to.
 func (c *MylibraryAnnotationsListCall) VolumeId(volumeId string) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("volumeId", volumeId)
+	c.opt_["volumeId"] = volumeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryAnnotationsListCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6257,13 +6529,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MylibraryAnnotationsListCall) IfNoneMatch(entityTag string) *MylibraryAnnotationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryAnnotationsListCall) Context(ctx context.Context) *MylibraryAnnotationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6271,14 +6543,48 @@
 
 func (c *MylibraryAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["contentVersion"]; ok {
+		params.Set("contentVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["layerId"]; ok {
+		params.Set("layerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["layerIds"]; ok {
+		params.Set("layerIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMax"]; ok {
+		params.Set("updatedMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["volumeId"]; ok {
+		params.Set("volumeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6395,30 +6701,32 @@
 // method id "books.mylibrary.annotations.summary":
 
 type MylibraryAnnotationsSummaryCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	layerIds []string
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Summary: Gets the summary of specified layers.
 func (r *MylibraryAnnotationsService) Summary(layerIds []string, volumeId string) *MylibraryAnnotationsSummaryCall {
-	c := &MylibraryAnnotationsSummaryCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.SetMulti("layerIds", append([]string{}, layerIds...))
-	c.urlParams_.Set("volumeId", volumeId)
+	c := &MylibraryAnnotationsSummaryCall{s: r.s, opt_: make(map[string]interface{})}
+	c.layerIds = layerIds
+	c.volumeId = volumeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryAnnotationsSummaryCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsSummaryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryAnnotationsSummaryCall) Context(ctx context.Context) *MylibraryAnnotationsSummaryCall {
 	c.ctx_ = ctx
 	return c
@@ -6426,9 +6734,17 @@
 
 func (c *MylibraryAnnotationsSummaryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	for _, v := range c.layerIds {
+		params.Add("layerIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations/summary")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -6513,13 +6829,13 @@
 	s            *Service
 	annotationId string
 	annotation   *Annotation
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates an existing annotation.
 func (r *MylibraryAnnotationsService) Update(annotationId string, annotation *Annotation) *MylibraryAnnotationsUpdateCall {
-	c := &MylibraryAnnotationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryAnnotationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationId = annotationId
 	c.annotation = annotation
 	return c
@@ -6528,21 +6844,21 @@
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryAnnotationsUpdateCall) Source(source string) *MylibraryAnnotationsUpdateCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryAnnotationsUpdateCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryAnnotationsUpdateCall) Context(ctx context.Context) *MylibraryAnnotationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6555,9 +6871,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationId": c.annotationId,
@@ -6642,17 +6965,18 @@
 // method id "books.mylibrary.bookshelves.addVolume":
 
 type MylibraryBookshelvesAddVolumeCall struct {
-	s          *Service
-	shelf      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	shelf    string
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // AddVolume: Adds a volume to a bookshelf.
 func (r *MylibraryBookshelvesService) AddVolume(shelf string, volumeId string) *MylibraryBookshelvesAddVolumeCall {
-	c := &MylibraryBookshelvesAddVolumeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesAddVolumeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.shelf = shelf
-	c.urlParams_.Set("volumeId", volumeId)
+	c.volumeId = volumeId
 	return c
 }
 
@@ -6664,28 +6988,28 @@
 //   "IOS_SEARCH" - Volumes added from the Search flow on iOS.
 //   "ONBOARDING" - Volumes added from the Onboarding flow.
 func (c *MylibraryBookshelvesAddVolumeCall) Reason(reason string) *MylibraryBookshelvesAddVolumeCall {
-	c.urlParams_.Set("reason", reason)
+	c.opt_["reason"] = reason
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesAddVolumeCall) Source(source string) *MylibraryBookshelvesAddVolumeCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesAddVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesAddVolumeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesAddVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesAddVolumeCall {
 	c.ctx_ = ctx
 	return c
@@ -6693,9 +7017,20 @@
 
 func (c *MylibraryBookshelvesAddVolumeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	if v, ok := c.opt_["reason"]; ok {
+		params.Set("reason", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/addVolume")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"shelf": c.shelf,
@@ -6771,15 +7106,15 @@
 // method id "books.mylibrary.bookshelves.clearVolumes":
 
 type MylibraryBookshelvesClearVolumesCall struct {
-	s          *Service
-	shelf      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	shelf string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // ClearVolumes: Clears all volumes from a bookshelf.
 func (r *MylibraryBookshelvesService) ClearVolumes(shelf string) *MylibraryBookshelvesClearVolumesCall {
-	c := &MylibraryBookshelvesClearVolumesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesClearVolumesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.shelf = shelf
 	return c
 }
@@ -6787,21 +7122,21 @@
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesClearVolumesCall) Source(source string) *MylibraryBookshelvesClearVolumesCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesClearVolumesCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesClearVolumesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesClearVolumesCall) Context(ctx context.Context) *MylibraryBookshelvesClearVolumesCall {
 	c.ctx_ = ctx
 	return c
@@ -6809,9 +7144,16 @@
 
 func (c *MylibraryBookshelvesClearVolumesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/clearVolumes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"shelf": c.shelf,
@@ -6865,17 +7207,16 @@
 // method id "books.mylibrary.bookshelves.get":
 
 type MylibraryBookshelvesGetCall struct {
-	s            *Service
-	shelf        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	shelf string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Retrieves metadata for a specific bookshelf belonging to the
 // authenticated user.
 func (r *MylibraryBookshelvesService) Get(shelf string) *MylibraryBookshelvesGetCall {
-	c := &MylibraryBookshelvesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.shelf = shelf
 	return c
 }
@@ -6883,15 +7224,15 @@
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesGetCall) Source(source string) *MylibraryBookshelvesGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesGetCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6901,13 +7242,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MylibraryBookshelvesGetCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesGetCall) Context(ctx context.Context) *MylibraryBookshelvesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6915,16 +7256,23 @@
 
 func (c *MylibraryBookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"shelf": c.shelf,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7001,31 +7349,30 @@
 // method id "books.mylibrary.bookshelves.list":
 
 type MylibraryBookshelvesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of bookshelves belonging to the authenticated
 // user.
 func (r *MylibraryBookshelvesService) List() *MylibraryBookshelvesListCall {
-	c := &MylibraryBookshelvesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesListCall) Source(source string) *MylibraryBookshelvesListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesListCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7035,13 +7382,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MylibraryBookshelvesListCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesListCall) Context(ctx context.Context) *MylibraryBookshelvesListCall {
 	c.ctx_ = ctx
 	return c
@@ -7049,14 +7396,21 @@
 
 func (c *MylibraryBookshelvesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7124,39 +7478,41 @@
 // method id "books.mylibrary.bookshelves.moveVolume":
 
 type MylibraryBookshelvesMoveVolumeCall struct {
-	s          *Service
-	shelf      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s              *Service
+	shelf          string
+	volumeId       string
+	volumePosition int64
+	opt_           map[string]interface{}
+	ctx_           context.Context
 }
 
 // MoveVolume: Moves a volume within a bookshelf.
 func (r *MylibraryBookshelvesService) MoveVolume(shelf string, volumeId string, volumePosition int64) *MylibraryBookshelvesMoveVolumeCall {
-	c := &MylibraryBookshelvesMoveVolumeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesMoveVolumeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.shelf = shelf
-	c.urlParams_.Set("volumeId", volumeId)
-	c.urlParams_.Set("volumePosition", fmt.Sprintf("%v", volumePosition))
+	c.volumeId = volumeId
+	c.volumePosition = volumePosition
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesMoveVolumeCall) Source(source string) *MylibraryBookshelvesMoveVolumeCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesMoveVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesMoveVolumeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesMoveVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesMoveVolumeCall {
 	c.ctx_ = ctx
 	return c
@@ -7164,9 +7520,18 @@
 
 func (c *MylibraryBookshelvesMoveVolumeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	params.Set("volumePosition", fmt.Sprintf("%v", c.volumePosition))
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/moveVolume")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"shelf": c.shelf,
@@ -7235,17 +7600,18 @@
 // method id "books.mylibrary.bookshelves.removeVolume":
 
 type MylibraryBookshelvesRemoveVolumeCall struct {
-	s          *Service
-	shelf      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	shelf    string
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // RemoveVolume: Removes a volume from a bookshelf.
 func (r *MylibraryBookshelvesService) RemoveVolume(shelf string, volumeId string) *MylibraryBookshelvesRemoveVolumeCall {
-	c := &MylibraryBookshelvesRemoveVolumeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesRemoveVolumeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.shelf = shelf
-	c.urlParams_.Set("volumeId", volumeId)
+	c.volumeId = volumeId
 	return c
 }
 
@@ -7255,28 +7621,28 @@
 // Possible values:
 //   "ONBOARDING" - Samples removed from the Onboarding flow.
 func (c *MylibraryBookshelvesRemoveVolumeCall) Reason(reason string) *MylibraryBookshelvesRemoveVolumeCall {
-	c.urlParams_.Set("reason", reason)
+	c.opt_["reason"] = reason
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesRemoveVolumeCall) Source(source string) *MylibraryBookshelvesRemoveVolumeCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesRemoveVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesRemoveVolumeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesRemoveVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesRemoveVolumeCall {
 	c.ctx_ = ctx
 	return c
@@ -7284,9 +7650,20 @@
 
 func (c *MylibraryBookshelvesRemoveVolumeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	if v, ok := c.opt_["reason"]; ok {
+		params.Set("reason", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/removeVolume")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"shelf": c.shelf,
@@ -7358,16 +7735,15 @@
 // method id "books.mylibrary.bookshelves.volumes.list":
 
 type MylibraryBookshelvesVolumesListCall struct {
-	s            *Service
-	shelf        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	shelf string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // List: Gets volume information for volumes on a bookshelf.
 func (r *MylibraryBookshelvesVolumesService) List(shelf string) *MylibraryBookshelvesVolumesListCall {
-	c := &MylibraryBookshelvesVolumesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryBookshelvesVolumesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.shelf = shelf
 	return c
 }
@@ -7375,14 +7751,14 @@
 // Country sets the optional parameter "country": ISO-3166-1 code to
 // override the IP-based location.
 func (c *MylibraryBookshelvesVolumesListCall) Country(country string) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("country", country)
+	c.opt_["country"] = country
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *MylibraryBookshelvesVolumesListCall) MaxResults(maxResults int64) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7393,43 +7769,43 @@
 //   "full" - Includes all volume data.
 //   "lite" - Includes a subset of fields in volumeInfo and accessInfo.
 func (c *MylibraryBookshelvesVolumesListCall) Projection(projection string) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // Q sets the optional parameter "q": Full-text search query string in
 // this bookshelf.
 func (c *MylibraryBookshelvesVolumesListCall) Q(q string) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
 // ShowPreorders sets the optional parameter "showPreorders": Set to
 // true to show pre-ordered books. Defaults to false.
 func (c *MylibraryBookshelvesVolumesListCall) ShowPreorders(showPreorders bool) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("showPreorders", fmt.Sprintf("%v", showPreorders))
+	c.opt_["showPreorders"] = showPreorders
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryBookshelvesVolumesListCall) Source(source string) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first element to return (starts at 0)
 func (c *MylibraryBookshelvesVolumesListCall) StartIndex(startIndex int64) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryBookshelvesVolumesListCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesVolumesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7439,13 +7815,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MylibraryBookshelvesVolumesListCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesVolumesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryBookshelvesVolumesListCall) Context(ctx context.Context) *MylibraryBookshelvesVolumesListCall {
 	c.ctx_ = ctx
 	return c
@@ -7453,16 +7829,41 @@
 
 func (c *MylibraryBookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["country"]; ok {
+		params.Set("country", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showPreorders"]; ok {
+		params.Set("showPreorders", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/volumes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"shelf": c.shelf,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7581,16 +7982,15 @@
 // method id "books.mylibrary.readingpositions.get":
 
 type MylibraryReadingpositionsGetCall struct {
-	s            *Service
-	volumeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves my reading position information for a volume.
 func (r *MylibraryReadingpositionsService) Get(volumeId string) *MylibraryReadingpositionsGetCall {
-	c := &MylibraryReadingpositionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryReadingpositionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	return c
 }
@@ -7598,22 +7998,22 @@
 // ContentVersion sets the optional parameter "contentVersion": Volume
 // content version for which this reading position is requested.
 func (c *MylibraryReadingpositionsGetCall) ContentVersion(contentVersion string) *MylibraryReadingpositionsGetCall {
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.opt_["contentVersion"] = contentVersion
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryReadingpositionsGetCall) Source(source string) *MylibraryReadingpositionsGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryReadingpositionsGetCall) Fields(s ...googleapi.Field) *MylibraryReadingpositionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7623,13 +8023,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MylibraryReadingpositionsGetCall) IfNoneMatch(entityTag string) *MylibraryReadingpositionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryReadingpositionsGetCall) Context(ctx context.Context) *MylibraryReadingpositionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7637,16 +8037,26 @@
 
 func (c *MylibraryReadingpositionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["contentVersion"]; ok {
+		params.Set("contentVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/readingpositions/{volumeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7728,18 +8138,20 @@
 // method id "books.mylibrary.readingpositions.setPosition":
 
 type MylibraryReadingpositionsSetPositionCall struct {
-	s          *Service
-	volumeId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	volumeId  string
+	timestamp string
+	position  string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // SetPosition: Sets my reading position information for a volume.
 func (r *MylibraryReadingpositionsService) SetPosition(volumeId string, timestamp string, position string) *MylibraryReadingpositionsSetPositionCall {
-	c := &MylibraryReadingpositionsSetPositionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MylibraryReadingpositionsSetPositionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
-	c.urlParams_.Set("timestamp", timestamp)
-	c.urlParams_.Set("position", position)
+	c.timestamp = timestamp
+	c.position = position
 	return c
 }
 
@@ -7754,42 +8166,42 @@
 //   "scroll" - User navigated to page.
 //   "search" - User chose search results within volume.
 func (c *MylibraryReadingpositionsSetPositionCall) Action(action string) *MylibraryReadingpositionsSetPositionCall {
-	c.urlParams_.Set("action", action)
+	c.opt_["action"] = action
 	return c
 }
 
 // ContentVersion sets the optional parameter "contentVersion": Volume
 // content version for which this reading position applies.
 func (c *MylibraryReadingpositionsSetPositionCall) ContentVersion(contentVersion string) *MylibraryReadingpositionsSetPositionCall {
-	c.urlParams_.Set("contentVersion", contentVersion)
+	c.opt_["contentVersion"] = contentVersion
 	return c
 }
 
 // DeviceCookie sets the optional parameter "deviceCookie": Random
 // persistent device cookie optional on set position.
 func (c *MylibraryReadingpositionsSetPositionCall) DeviceCookie(deviceCookie string) *MylibraryReadingpositionsSetPositionCall {
-	c.urlParams_.Set("deviceCookie", deviceCookie)
+	c.opt_["deviceCookie"] = deviceCookie
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *MylibraryReadingpositionsSetPositionCall) Source(source string) *MylibraryReadingpositionsSetPositionCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MylibraryReadingpositionsSetPositionCall) Fields(s ...googleapi.Field) *MylibraryReadingpositionsSetPositionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MylibraryReadingpositionsSetPositionCall) Context(ctx context.Context) *MylibraryReadingpositionsSetPositionCall {
 	c.ctx_ = ctx
 	return c
@@ -7797,9 +8209,27 @@
 
 func (c *MylibraryReadingpositionsSetPositionCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("position", fmt.Sprintf("%v", c.position))
+	params.Set("timestamp", fmt.Sprintf("%v", c.timestamp))
+	if v, ok := c.opt_["action"]; ok {
+		params.Set("action", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentVersion"]; ok {
+		params.Set("contentVersion", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["deviceCookie"]; ok {
+		params.Set("deviceCookie", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/readingpositions/{volumeId}/setPosition")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
@@ -7898,30 +8328,29 @@
 // method id "books.onboarding.listCategories":
 
 type OnboardingListCategoriesCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListCategories: List categories for onboarding experience.
 func (r *OnboardingService) ListCategories() *OnboardingListCategoriesCall {
-	c := &OnboardingListCategoriesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OnboardingListCategoriesCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Locale sets the optional parameter "locale": ISO-639-1 language and
 // ISO-3166-1 country code. Default is en-US if unset.
 func (c *OnboardingListCategoriesCall) Locale(locale string) *OnboardingListCategoriesCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OnboardingListCategoriesCall) Fields(s ...googleapi.Field) *OnboardingListCategoriesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7931,13 +8360,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OnboardingListCategoriesCall) IfNoneMatch(entityTag string) *OnboardingListCategoriesCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OnboardingListCategoriesCall) Context(ctx context.Context) *OnboardingListCategoriesCall {
 	c.ctx_ = ctx
 	return c
@@ -7945,14 +8374,21 @@
 
 func (c *OnboardingListCategoriesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "onboarding/listCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8020,30 +8456,29 @@
 // method id "books.onboarding.listCategoryVolumes":
 
 type OnboardingListCategoryVolumesCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListCategoryVolumes: List available volumes under categories for
 // onboarding experience.
 func (r *OnboardingService) ListCategoryVolumes() *OnboardingListCategoryVolumesCall {
-	c := &OnboardingListCategoryVolumesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OnboardingListCategoryVolumesCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // CategoryId sets the optional parameter "categoryId": List of category
 // ids requested.
-func (c *OnboardingListCategoryVolumesCall) CategoryId(categoryId []string) *OnboardingListCategoryVolumesCall {
-	c.urlParams_.SetMulti("categoryId", append([]string{}, categoryId...))
+func (c *OnboardingListCategoryVolumesCall) CategoryId(categoryId string) *OnboardingListCategoryVolumesCall {
+	c.opt_["categoryId"] = categoryId
 	return c
 }
 
 // Locale sets the optional parameter "locale": ISO-639-1 language and
 // ISO-3166-1 country code. Default is en-US if unset.
 func (c *OnboardingListCategoryVolumesCall) Locale(locale string) *OnboardingListCategoryVolumesCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
@@ -8056,29 +8491,29 @@
 //   "mature" - Show books which are rated mature or lower.
 //   "not-mature" - Show books which are rated not mature.
 func (c *OnboardingListCategoryVolumesCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *OnboardingListCategoryVolumesCall {
-	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
+	c.opt_["maxAllowedMaturityRating"] = maxAllowedMaturityRating
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Number of maximum
 // results per page to be included in the response.
 func (c *OnboardingListCategoryVolumesCall) PageSize(pageSize int64) *OnboardingListCategoryVolumesCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous page.
 func (c *OnboardingListCategoryVolumesCall) PageToken(pageToken string) *OnboardingListCategoryVolumesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OnboardingListCategoryVolumesCall) Fields(s ...googleapi.Field) *OnboardingListCategoryVolumesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8088,13 +8523,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OnboardingListCategoryVolumesCall) IfNoneMatch(entityTag string) *OnboardingListCategoryVolumesCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OnboardingListCategoryVolumesCall) Context(ctx context.Context) *OnboardingListCategoryVolumesCall {
 	c.ctx_ = ctx
 	return c
@@ -8102,14 +8537,33 @@
 
 func (c *OnboardingListCategoryVolumesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["categoryId"]; ok {
+		params.Set("categoryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAllowedMaturityRating"]; ok {
+		params.Set("maxAllowedMaturityRating", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "onboarding/listCategoryVolumes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8207,78 +8661,78 @@
 // method id "books.promooffer.accept":
 
 type PromoofferAcceptCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Accept:
 func (r *PromoofferService) Accept() *PromoofferAcceptCall {
-	c := &PromoofferAcceptCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PromoofferAcceptCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AndroidId sets the optional parameter "androidId": device android_id
 func (c *PromoofferAcceptCall) AndroidId(androidId string) *PromoofferAcceptCall {
-	c.urlParams_.Set("androidId", androidId)
+	c.opt_["androidId"] = androidId
 	return c
 }
 
 // Device sets the optional parameter "device": device device
 func (c *PromoofferAcceptCall) Device(device string) *PromoofferAcceptCall {
-	c.urlParams_.Set("device", device)
+	c.opt_["device"] = device
 	return c
 }
 
 // Manufacturer sets the optional parameter "manufacturer": device
 // manufacturer
 func (c *PromoofferAcceptCall) Manufacturer(manufacturer string) *PromoofferAcceptCall {
-	c.urlParams_.Set("manufacturer", manufacturer)
+	c.opt_["manufacturer"] = manufacturer
 	return c
 }
 
 // Model sets the optional parameter "model": device model
 func (c *PromoofferAcceptCall) Model(model string) *PromoofferAcceptCall {
-	c.urlParams_.Set("model", model)
+	c.opt_["model"] = model
 	return c
 }
 
 // OfferId sets the optional parameter "offerId":
 func (c *PromoofferAcceptCall) OfferId(offerId string) *PromoofferAcceptCall {
-	c.urlParams_.Set("offerId", offerId)
+	c.opt_["offerId"] = offerId
 	return c
 }
 
 // Product sets the optional parameter "product": device product
 func (c *PromoofferAcceptCall) Product(product string) *PromoofferAcceptCall {
-	c.urlParams_.Set("product", product)
+	c.opt_["product"] = product
 	return c
 }
 
 // Serial sets the optional parameter "serial": device serial
 func (c *PromoofferAcceptCall) Serial(serial string) *PromoofferAcceptCall {
-	c.urlParams_.Set("serial", serial)
+	c.opt_["serial"] = serial
 	return c
 }
 
 // VolumeId sets the optional parameter "volumeId": Volume id to
 // exercise the offer
 func (c *PromoofferAcceptCall) VolumeId(volumeId string) *PromoofferAcceptCall {
-	c.urlParams_.Set("volumeId", volumeId)
+	c.opt_["volumeId"] = volumeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PromoofferAcceptCall) Fields(s ...googleapi.Field) *PromoofferAcceptCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PromoofferAcceptCall) Context(ctx context.Context) *PromoofferAcceptCall {
 	c.ctx_ = ctx
 	return c
@@ -8286,9 +8740,37 @@
 
 func (c *PromoofferAcceptCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["androidId"]; ok {
+		params.Set("androidId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["device"]; ok {
+		params.Set("device", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["manufacturer"]; ok {
+		params.Set("manufacturer", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["model"]; ok {
+		params.Set("model", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["offerId"]; ok {
+		params.Set("offerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["product"]; ok {
+		params.Set("product", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serial"]; ok {
+		params.Set("serial", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["volumeId"]; ok {
+		params.Set("volumeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "promooffer/accept")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -8365,71 +8847,71 @@
 // method id "books.promooffer.dismiss":
 
 type PromoofferDismissCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Dismiss:
 func (r *PromoofferService) Dismiss() *PromoofferDismissCall {
-	c := &PromoofferDismissCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PromoofferDismissCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AndroidId sets the optional parameter "androidId": device android_id
 func (c *PromoofferDismissCall) AndroidId(androidId string) *PromoofferDismissCall {
-	c.urlParams_.Set("androidId", androidId)
+	c.opt_["androidId"] = androidId
 	return c
 }
 
 // Device sets the optional parameter "device": device device
 func (c *PromoofferDismissCall) Device(device string) *PromoofferDismissCall {
-	c.urlParams_.Set("device", device)
+	c.opt_["device"] = device
 	return c
 }
 
 // Manufacturer sets the optional parameter "manufacturer": device
 // manufacturer
 func (c *PromoofferDismissCall) Manufacturer(manufacturer string) *PromoofferDismissCall {
-	c.urlParams_.Set("manufacturer", manufacturer)
+	c.opt_["manufacturer"] = manufacturer
 	return c
 }
 
 // Model sets the optional parameter "model": device model
 func (c *PromoofferDismissCall) Model(model string) *PromoofferDismissCall {
-	c.urlParams_.Set("model", model)
+	c.opt_["model"] = model
 	return c
 }
 
 // OfferId sets the optional parameter "offerId": Offer to dimiss
 func (c *PromoofferDismissCall) OfferId(offerId string) *PromoofferDismissCall {
-	c.urlParams_.Set("offerId", offerId)
+	c.opt_["offerId"] = offerId
 	return c
 }
 
 // Product sets the optional parameter "product": device product
 func (c *PromoofferDismissCall) Product(product string) *PromoofferDismissCall {
-	c.urlParams_.Set("product", product)
+	c.opt_["product"] = product
 	return c
 }
 
 // Serial sets the optional parameter "serial": device serial
 func (c *PromoofferDismissCall) Serial(serial string) *PromoofferDismissCall {
-	c.urlParams_.Set("serial", serial)
+	c.opt_["serial"] = serial
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PromoofferDismissCall) Fields(s ...googleapi.Field) *PromoofferDismissCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PromoofferDismissCall) Context(ctx context.Context) *PromoofferDismissCall {
 	c.ctx_ = ctx
 	return c
@@ -8437,9 +8919,34 @@
 
 func (c *PromoofferDismissCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["androidId"]; ok {
+		params.Set("androidId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["device"]; ok {
+		params.Set("device", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["manufacturer"]; ok {
+		params.Set("manufacturer", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["model"]; ok {
+		params.Set("model", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["offerId"]; ok {
+		params.Set("offerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["product"]; ok {
+		params.Set("product", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serial"]; ok {
+		params.Set("serial", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "promooffer/dismiss")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -8512,60 +9019,59 @@
 // method id "books.promooffer.get":
 
 type PromoofferGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Returns a list of promo offers available to the user
 func (r *PromoofferService) Get() *PromoofferGetCall {
-	c := &PromoofferGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PromoofferGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AndroidId sets the optional parameter "androidId": device android_id
 func (c *PromoofferGetCall) AndroidId(androidId string) *PromoofferGetCall {
-	c.urlParams_.Set("androidId", androidId)
+	c.opt_["androidId"] = androidId
 	return c
 }
 
 // Device sets the optional parameter "device": device device
 func (c *PromoofferGetCall) Device(device string) *PromoofferGetCall {
-	c.urlParams_.Set("device", device)
+	c.opt_["device"] = device
 	return c
 }
 
 // Manufacturer sets the optional parameter "manufacturer": device
 // manufacturer
 func (c *PromoofferGetCall) Manufacturer(manufacturer string) *PromoofferGetCall {
-	c.urlParams_.Set("manufacturer", manufacturer)
+	c.opt_["manufacturer"] = manufacturer
 	return c
 }
 
 // Model sets the optional parameter "model": device model
 func (c *PromoofferGetCall) Model(model string) *PromoofferGetCall {
-	c.urlParams_.Set("model", model)
+	c.opt_["model"] = model
 	return c
 }
 
 // Product sets the optional parameter "product": device product
 func (c *PromoofferGetCall) Product(product string) *PromoofferGetCall {
-	c.urlParams_.Set("product", product)
+	c.opt_["product"] = product
 	return c
 }
 
 // Serial sets the optional parameter "serial": device serial
 func (c *PromoofferGetCall) Serial(serial string) *PromoofferGetCall {
-	c.urlParams_.Set("serial", serial)
+	c.opt_["serial"] = serial
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PromoofferGetCall) Fields(s ...googleapi.Field) *PromoofferGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8575,13 +9081,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PromoofferGetCall) IfNoneMatch(entityTag string) *PromoofferGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PromoofferGetCall) Context(ctx context.Context) *PromoofferGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8589,14 +9095,36 @@
 
 func (c *PromoofferGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["androidId"]; ok {
+		params.Set("androidId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["device"]; ok {
+		params.Set("device", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["manufacturer"]; ok {
+		params.Set("manufacturer", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["model"]; ok {
+		params.Set("model", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["product"]; ok {
+		params.Set("product", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serial"]; ok {
+		params.Set("serial", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "promooffer/get")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8689,16 +9217,15 @@
 // method id "books.volumes.get":
 
 type VolumesGetCall struct {
-	s            *Service
-	volumeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Gets volume information for a single volume.
 func (r *VolumesService) Get(volumeId string) *VolumesGetCall {
-	c := &VolumesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VolumesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	return c
 }
@@ -8706,14 +9233,14 @@
 // Country sets the optional parameter "country": ISO-3166-1 code to
 // override the IP-based location.
 func (c *VolumesGetCall) Country(country string) *VolumesGetCall {
-	c.urlParams_.Set("country", country)
+	c.opt_["country"] = country
 	return c
 }
 
 // Partner sets the optional parameter "partner": Brand results for
 // partner ID.
 func (c *VolumesGetCall) Partner(partner string) *VolumesGetCall {
-	c.urlParams_.Set("partner", partner)
+	c.opt_["partner"] = partner
 	return c
 }
 
@@ -8724,29 +9251,29 @@
 //   "full" - Includes all volume data.
 //   "lite" - Includes a subset of fields in volumeInfo and accessInfo.
 func (c *VolumesGetCall) Projection(projection string) *VolumesGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesGetCall) Source(source string) *VolumesGetCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // UserLibraryConsistentRead sets the optional parameter
 // "user_library_consistent_read":
 func (c *VolumesGetCall) UserLibraryConsistentRead(userLibraryConsistentRead bool) *VolumesGetCall {
-	c.urlParams_.Set("userLibraryConsistentRead", fmt.Sprintf("%v", userLibraryConsistentRead))
+	c.opt_["user_library_consistent_read"] = userLibraryConsistentRead
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesGetCall) Fields(s ...googleapi.Field) *VolumesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8756,13 +9283,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VolumesGetCall) IfNoneMatch(entityTag string) *VolumesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesGetCall) Context(ctx context.Context) *VolumesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8770,16 +9297,35 @@
 
 func (c *VolumesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["country"]; ok {
+		params.Set("country", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["partner"]; ok {
+		params.Set("partner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["user_library_consistent_read"]; ok {
+		params.Set("user_library_consistent_read", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8883,16 +9429,16 @@
 // method id "books.volumes.list":
 
 type VolumesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	q    string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Performs a book search.
 func (r *VolumesService) List(q string) *VolumesListCall {
-	c := &VolumesListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("q", q)
+	c := &VolumesListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.q = q
 	return c
 }
 
@@ -8902,7 +9448,7 @@
 // Possible values:
 //   "epub" - All volumes with epub.
 func (c *VolumesListCall) Download(download string) *VolumesListCall {
-	c.urlParams_.Set("download", download)
+	c.opt_["download"] = download
 	return c
 }
 
@@ -8915,14 +9461,14 @@
 //   "paid-ebooks" - Google eBook with a price.
 //   "partial" - Public able to see parts of text.
 func (c *VolumesListCall) Filter(filter string) *VolumesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // LangRestrict sets the optional parameter "langRestrict": Restrict
 // results to books with this language code.
 func (c *VolumesListCall) LangRestrict(langRestrict string) *VolumesListCall {
-	c.urlParams_.Set("langRestrict", langRestrict)
+	c.opt_["langRestrict"] = langRestrict
 	return c
 }
 
@@ -8933,14 +9479,14 @@
 //   "my-library" - Restrict to the user's library, any shelf.
 //   "no-restrict" - Do not restrict based on user's library.
 func (c *VolumesListCall) LibraryRestrict(libraryRestrict string) *VolumesListCall {
-	c.urlParams_.Set("libraryRestrict", libraryRestrict)
+	c.opt_["libraryRestrict"] = libraryRestrict
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *VolumesListCall) MaxResults(maxResults int64) *VolumesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8950,14 +9496,14 @@
 //   "newest" - Most recently published.
 //   "relevance" - Relevance to search terms.
 func (c *VolumesListCall) OrderBy(orderBy string) *VolumesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // Partner sets the optional parameter "partner": Restrict and brand
 // results for partner ID.
 func (c *VolumesListCall) Partner(partner string) *VolumesListCall {
-	c.urlParams_.Set("partner", partner)
+	c.opt_["partner"] = partner
 	return c
 }
 
@@ -8969,7 +9515,7 @@
 //   "books" - Just books.
 //   "magazines" - Just magazines.
 func (c *VolumesListCall) PrintType(printType string) *VolumesListCall {
-	c.urlParams_.Set("printType", printType)
+	c.opt_["printType"] = printType
 	return c
 }
 
@@ -8980,36 +9526,36 @@
 //   "full" - Includes all volume data.
 //   "lite" - Includes a subset of fields in volumeInfo and accessInfo.
 func (c *VolumesListCall) Projection(projection string) *VolumesListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // ShowPreorders sets the optional parameter "showPreorders": Set to
 // true to show books available for preorder. Defaults to false.
 func (c *VolumesListCall) ShowPreorders(showPreorders bool) *VolumesListCall {
-	c.urlParams_.Set("showPreorders", fmt.Sprintf("%v", showPreorders))
+	c.opt_["showPreorders"] = showPreorders
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesListCall) Source(source string) *VolumesListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first result to return (starts at 0)
 func (c *VolumesListCall) StartIndex(startIndex int64) *VolumesListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesListCall) Fields(s ...googleapi.Field) *VolumesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9019,13 +9565,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VolumesListCall) IfNoneMatch(entityTag string) *VolumesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesListCall) Context(ctx context.Context) *VolumesListCall {
 	c.ctx_ = ctx
 	return c
@@ -9033,14 +9579,55 @@
 
 func (c *VolumesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("q", fmt.Sprintf("%v", c.q))
+	if v, ok := c.opt_["download"]; ok {
+		params.Set("download", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["langRestrict"]; ok {
+		params.Set("langRestrict", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["libraryRestrict"]; ok {
+		params.Set("libraryRestrict", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["partner"]; ok {
+		params.Set("partner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["printType"]; ok {
+		params.Set("printType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showPreorders"]; ok {
+		params.Set("showPreorders", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9231,16 +9818,15 @@
 // method id "books.volumes.associated.list":
 
 type VolumesAssociatedListCall struct {
-	s            *Service
-	volumeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Return a list of associated books.
 func (r *VolumesAssociatedService) List(volumeId string) *VolumesAssociatedListCall {
-	c := &VolumesAssociatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VolumesAssociatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.volumeId = volumeId
 	return c
 }
@@ -9253,7 +9839,7 @@
 //   "end-of-volume" - Recommendations for display end-of-volume.
 //   "related-for-play" - Related volumes for Play Store.
 func (c *VolumesAssociatedListCall) Association(association string) *VolumesAssociatedListCall {
-	c.urlParams_.Set("association", association)
+	c.opt_["association"] = association
 	return c
 }
 
@@ -9261,7 +9847,7 @@
 // ISO-3166-1 country code. Ex: 'en_US'. Used for generating
 // recommendations.
 func (c *VolumesAssociatedListCall) Locale(locale string) *VolumesAssociatedListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
@@ -9274,22 +9860,22 @@
 //   "mature" - Show books which are rated mature or lower.
 //   "not-mature" - Show books which are rated not mature.
 func (c *VolumesAssociatedListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesAssociatedListCall {
-	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
+	c.opt_["maxAllowedMaturityRating"] = maxAllowedMaturityRating
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesAssociatedListCall) Source(source string) *VolumesAssociatedListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesAssociatedListCall) Fields(s ...googleapi.Field) *VolumesAssociatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9299,13 +9885,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VolumesAssociatedListCall) IfNoneMatch(entityTag string) *VolumesAssociatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesAssociatedListCall) Context(ctx context.Context) *VolumesAssociatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -9313,16 +9899,32 @@
 
 func (c *VolumesAssociatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["association"]; ok {
+		params.Set("association", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAllowedMaturityRating"]; ok {
+		params.Set("maxAllowedMaturityRating", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/associated")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"volumeId": c.volumeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9432,15 +10034,14 @@
 // method id "books.volumes.mybooks.list":
 
 type VolumesMybooksListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return a list of books in My Library.
 func (r *VolumesMybooksService) List() *VolumesMybooksListCall {
-	c := &VolumesMybooksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VolumesMybooksListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -9455,8 +10056,8 @@
 //   "RENTED" - User-rented books
 //   "SAMPLE" - Sample books
 //   "UPLOADED" - User uploaded books
-func (c *VolumesMybooksListCall) AcquireMethod(acquireMethod []string) *VolumesMybooksListCall {
-	c.urlParams_.SetMulti("acquireMethod", append([]string{}, acquireMethod...))
+func (c *VolumesMybooksListCall) AcquireMethod(acquireMethod string) *VolumesMybooksListCall {
+	c.opt_["acquireMethod"] = acquireMethod
 	return c
 }
 
@@ -9464,14 +10065,14 @@
 // ISO-3166-1 country code. Ex:'en_US'. Used for generating
 // recommendations.
 func (c *VolumesMybooksListCall) Locale(locale string) *VolumesMybooksListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *VolumesMybooksListCall) MaxResults(maxResults int64) *VolumesMybooksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9483,30 +10084,30 @@
 //   "COMPLETED_FAILED" - The volume processing hase failed.
 //   "COMPLETED_SUCCESS" - The volume processing was completed.
 //   "RUNNING" - The volume processing is not completed.
-func (c *VolumesMybooksListCall) ProcessingState(processingState []string) *VolumesMybooksListCall {
-	c.urlParams_.SetMulti("processingState", append([]string{}, processingState...))
+func (c *VolumesMybooksListCall) ProcessingState(processingState string) *VolumesMybooksListCall {
+	c.opt_["processingState"] = processingState
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesMybooksListCall) Source(source string) *VolumesMybooksListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first result to return (starts at 0)
 func (c *VolumesMybooksListCall) StartIndex(startIndex int64) *VolumesMybooksListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesMybooksListCall) Fields(s ...googleapi.Field) *VolumesMybooksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9516,13 +10117,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VolumesMybooksListCall) IfNoneMatch(entityTag string) *VolumesMybooksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesMybooksListCall) Context(ctx context.Context) *VolumesMybooksListCall {
 	c.ctx_ = ctx
 	return c
@@ -9530,14 +10131,36 @@
 
 func (c *VolumesMybooksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acquireMethod"]; ok {
+		params.Set("acquireMethod", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingState"]; ok {
+		params.Set("processingState", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/mybooks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9665,15 +10288,14 @@
 // method id "books.volumes.recommended.list":
 
 type VolumesRecommendedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return a list of recommended books for the current user.
 func (r *VolumesRecommendedService) List() *VolumesRecommendedListCall {
-	c := &VolumesRecommendedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VolumesRecommendedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -9681,7 +10303,7 @@
 // ISO-3166-1 country code. Ex: 'en_US'. Used for generating
 // recommendations.
 func (c *VolumesRecommendedListCall) Locale(locale string) *VolumesRecommendedListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
@@ -9694,22 +10316,22 @@
 //   "mature" - Show books which are rated mature or lower.
 //   "not-mature" - Show books which are rated not mature.
 func (c *VolumesRecommendedListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesRecommendedListCall {
-	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
+	c.opt_["maxAllowedMaturityRating"] = maxAllowedMaturityRating
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesRecommendedListCall) Source(source string) *VolumesRecommendedListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesRecommendedListCall) Fields(s ...googleapi.Field) *VolumesRecommendedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9719,13 +10341,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VolumesRecommendedListCall) IfNoneMatch(entityTag string) *VolumesRecommendedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesRecommendedListCall) Context(ctx context.Context) *VolumesRecommendedListCall {
 	c.ctx_ = ctx
 	return c
@@ -9733,14 +10355,27 @@
 
 func (c *VolumesRecommendedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAllowedMaturityRating"]; ok {
+		params.Set("maxAllowedMaturityRating", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/recommended")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9826,16 +10461,18 @@
 // method id "books.volumes.recommended.rate":
 
 type VolumesRecommendedRateCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	rating   string
+	volumeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Rate: Rate a recommended book for the current user.
 func (r *VolumesRecommendedService) Rate(rating string, volumeId string) *VolumesRecommendedRateCall {
-	c := &VolumesRecommendedRateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("rating", rating)
-	c.urlParams_.Set("volumeId", volumeId)
+	c := &VolumesRecommendedRateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.rating = rating
+	c.volumeId = volumeId
 	return c
 }
 
@@ -9843,28 +10480,28 @@
 // ISO-3166-1 country code. Ex: 'en_US'. Used for generating
 // recommendations.
 func (c *VolumesRecommendedRateCall) Locale(locale string) *VolumesRecommendedRateCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesRecommendedRateCall) Source(source string) *VolumesRecommendedRateCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesRecommendedRateCall) Fields(s ...googleapi.Field) *VolumesRecommendedRateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesRecommendedRateCall) Context(ctx context.Context) *VolumesRecommendedRateCall {
 	c.ctx_ = ctx
 	return c
@@ -9872,9 +10509,21 @@
 
 func (c *VolumesRecommendedRateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("rating", fmt.Sprintf("%v", c.rating))
+	params.Set("volumeId", fmt.Sprintf("%v", c.volumeId))
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/recommended/rate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -9974,15 +10623,14 @@
 // method id "books.volumes.useruploaded.list":
 
 type VolumesUseruploadedListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return a list of books uploaded by the current user.
 func (r *VolumesUseruploadedService) List() *VolumesUseruploadedListCall {
-	c := &VolumesUseruploadedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VolumesUseruploadedListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -9990,14 +10638,14 @@
 // ISO-3166-1 country code. Ex: 'en_US'. Used for generating
 // recommendations.
 func (c *VolumesUseruploadedListCall) Locale(locale string) *VolumesUseruploadedListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *VolumesUseruploadedListCall) MaxResults(maxResults int64) *VolumesUseruploadedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10008,38 +10656,38 @@
 //   "COMPLETED_FAILED" - The volume processing hase failed.
 //   "COMPLETED_SUCCESS" - The volume processing was completed.
 //   "RUNNING" - The volume processing is not completed.
-func (c *VolumesUseruploadedListCall) ProcessingState(processingState []string) *VolumesUseruploadedListCall {
-	c.urlParams_.SetMulti("processingState", append([]string{}, processingState...))
+func (c *VolumesUseruploadedListCall) ProcessingState(processingState string) *VolumesUseruploadedListCall {
+	c.opt_["processingState"] = processingState
 	return c
 }
 
 // Source sets the optional parameter "source": String to identify the
 // originator of this request.
 func (c *VolumesUseruploadedListCall) Source(source string) *VolumesUseruploadedListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first result to return (starts at 0)
 func (c *VolumesUseruploadedListCall) StartIndex(startIndex int64) *VolumesUseruploadedListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
 // VolumeId sets the optional parameter "volumeId": The ids of the
 // volumes to be returned. If not specified all that match the
 // processingState are returned.
-func (c *VolumesUseruploadedListCall) VolumeId(volumeId []string) *VolumesUseruploadedListCall {
-	c.urlParams_.SetMulti("volumeId", append([]string{}, volumeId...))
+func (c *VolumesUseruploadedListCall) VolumeId(volumeId string) *VolumesUseruploadedListCall {
+	c.opt_["volumeId"] = volumeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VolumesUseruploadedListCall) Fields(s ...googleapi.Field) *VolumesUseruploadedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10049,13 +10697,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VolumesUseruploadedListCall) IfNoneMatch(entityTag string) *VolumesUseruploadedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VolumesUseruploadedListCall) Context(ctx context.Context) *VolumesUseruploadedListCall {
 	c.ctx_ = ctx
 	return c
@@ -10063,14 +10711,36 @@
 
 func (c *VolumesUseruploadedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingState"]; ok {
+		params.Set("processingState", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["volumeId"]; ok {
+		params.Set("volumeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/useruploaded")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/calendar/v3/calendar-gen.go b/calendar/v3/calendar-gen.go
index fbe8787..a5dde55 100644
--- a/calendar/v3/calendar-gen.go
+++ b/calendar/v3/calendar-gen.go
@@ -1566,29 +1566,29 @@
 	s          *Service
 	calendarId string
 	ruleId     string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an access control rule.
 func (r *AclService) Delete(calendarId string, ruleId string) *AclDeleteCall {
-	c := &AclDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.ruleId = ruleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclDeleteCall) Fields(s ...googleapi.Field) *AclDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclDeleteCall) Context(ctx context.Context) *AclDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1596,9 +1596,13 @@
 
 func (c *AclDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -1655,27 +1659,26 @@
 // method id "calendar.acl.get":
 
 type AclGetCall struct {
-	s            *Service
-	calendarId   string
-	ruleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	ruleId     string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns an access control rule.
 func (r *AclService) Get(calendarId string, ruleId string) *AclGetCall {
-	c := &AclGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.ruleId = ruleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclGetCall) Fields(s ...googleapi.Field) *AclGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1685,13 +1688,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AclGetCall) IfNoneMatch(entityTag string) *AclGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclGetCall) Context(ctx context.Context) *AclGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1699,17 +1702,21 @@
 
 func (c *AclGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 		"ruleId":     c.ruleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1792,29 +1799,29 @@
 	s          *Service
 	calendarId string
 	aclrule    *AclRule
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates an access control rule.
 func (r *AclService) Insert(calendarId string, aclrule *AclRule) *AclInsertCall {
-	c := &AclInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.aclrule = aclrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclInsertCall) Fields(s ...googleapi.Field) *AclInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclInsertCall) Context(ctx context.Context) *AclInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1827,9 +1834,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -1909,16 +1920,15 @@
 // method id "calendar.acl.list":
 
 type AclListCall struct {
-	s            *Service
-	calendarId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Returns the rules in the access control list for the calendar.
 func (r *AclService) List(calendarId string) *AclListCall {
-	c := &AclListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
@@ -1927,14 +1937,14 @@
 // of entries returned on one result page. By default the value is 100
 // entries. The page size can never be larger than 250 entries.
 func (c *AclListCall) MaxResults(maxResults int64) *AclListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *AclListCall) PageToken(pageToken string) *AclListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1943,7 +1953,7 @@
 // role equal to "none". Deleted ACLs will always be included if
 // syncToken is provided.  The default is False.
 func (c *AclListCall) ShowDeleted(showDeleted bool) *AclListCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -1959,15 +1969,15 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *AclListCall) SyncToken(syncToken string) *AclListCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclListCall) Fields(s ...googleapi.Field) *AclListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1977,13 +1987,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AclListCall) IfNoneMatch(entityTag string) *AclListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclListCall) Context(ctx context.Context) *AclListCall {
 	c.ctx_ = ctx
 	return c
@@ -1991,16 +2001,32 @@
 
 func (c *AclListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2099,31 +2125,31 @@
 	calendarId string
 	ruleId     string
 	aclrule    *AclRule
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an access control rule. This method supports patch
 // semantics.
 func (r *AclService) Patch(calendarId string, ruleId string, aclrule *AclRule) *AclPatchCall {
-	c := &AclPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.ruleId = ruleId
 	c.aclrule = aclrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclPatchCall) Fields(s ...googleapi.Field) *AclPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclPatchCall) Context(ctx context.Context) *AclPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2136,9 +2162,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -2230,30 +2260,30 @@
 	calendarId string
 	ruleId     string
 	aclrule    *AclRule
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an access control rule.
 func (r *AclService) Update(calendarId string, ruleId string, aclrule *AclRule) *AclUpdateCall {
-	c := &AclUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.ruleId = ruleId
 	c.aclrule = aclrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclUpdateCall) Fields(s ...googleapi.Field) *AclUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclUpdateCall) Context(ctx context.Context) *AclUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2266,9 +2296,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -2359,13 +2393,13 @@
 	s          *Service
 	calendarId string
 	channel    *Channel
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Watch: Watch for changes to ACL resources.
 func (r *AclService) Watch(calendarId string, channel *Channel) *AclWatchCall {
-	c := &AclWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AclWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.channel = channel
 	return c
@@ -2375,14 +2409,14 @@
 // of entries returned on one result page. By default the value is 100
 // entries. The page size can never be larger than 250 entries.
 func (c *AclWatchCall) MaxResults(maxResults int64) *AclWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *AclWatchCall) PageToken(pageToken string) *AclWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2391,7 +2425,7 @@
 // role equal to "none". Deleted ACLs will always be included if
 // syncToken is provided.  The default is False.
 func (c *AclWatchCall) ShowDeleted(showDeleted bool) *AclWatchCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -2407,21 +2441,21 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *AclWatchCall) SyncToken(syncToken string) *AclWatchCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AclWatchCall) Fields(s ...googleapi.Field) *AclWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AclWatchCall) Context(ctx context.Context) *AclWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2434,9 +2468,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/acl/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -2542,28 +2592,28 @@
 type CalendarListDeleteCall struct {
 	s          *Service
 	calendarId string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an entry on the user's calendar list.
 func (r *CalendarListService) Delete(calendarId string) *CalendarListDeleteCall {
-	c := &CalendarListDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListDeleteCall) Fields(s ...googleapi.Field) *CalendarListDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListDeleteCall) Context(ctx context.Context) *CalendarListDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2571,9 +2621,13 @@
 
 func (c *CalendarListDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -2622,25 +2676,24 @@
 // method id "calendar.calendarList.get":
 
 type CalendarListGetCall struct {
-	s            *Service
-	calendarId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns an entry on the user's calendar list.
 func (r *CalendarListService) Get(calendarId string) *CalendarListGetCall {
-	c := &CalendarListGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListGetCall) Fields(s ...googleapi.Field) *CalendarListGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2650,13 +2703,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CalendarListGetCall) IfNoneMatch(entityTag string) *CalendarListGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListGetCall) Context(ctx context.Context) *CalendarListGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2664,16 +2717,20 @@
 
 func (c *CalendarListGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2748,13 +2805,13 @@
 type CalendarListInsertCall struct {
 	s                 *Service
 	calendarlistentry *CalendarListEntry
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Insert: Adds an entry to the user's calendar list.
 func (r *CalendarListService) Insert(calendarlistentry *CalendarListEntry) *CalendarListInsertCall {
-	c := &CalendarListInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarlistentry = calendarlistentry
 	return c
 }
@@ -2765,21 +2822,21 @@
 // colorId field will be set to the best matching option automatically.
 // The default is False.
 func (c *CalendarListInsertCall) ColorRgbFormat(colorRgbFormat bool) *CalendarListInsertCall {
-	c.urlParams_.Set("colorRgbFormat", fmt.Sprintf("%v", colorRgbFormat))
+	c.opt_["colorRgbFormat"] = colorRgbFormat
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListInsertCall) Fields(s ...googleapi.Field) *CalendarListInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListInsertCall) Context(ctx context.Context) *CalendarListInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2792,9 +2849,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["colorRgbFormat"]; ok {
+		params.Set("colorRgbFormat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2868,15 +2932,14 @@
 // method id "calendar.calendarList.list":
 
 type CalendarListListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns entries on the user's calendar list.
 func (r *CalendarListService) List() *CalendarListListCall {
-	c := &CalendarListListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -2884,7 +2947,7 @@
 // of entries returned on one result page. By default the value is 100
 // entries. The page size can never be larger than 250 entries.
 func (c *CalendarListListCall) MaxResults(maxResults int64) *CalendarListListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2899,14 +2962,14 @@
 //   "reader" - The user can read events that are not private.
 //   "writer" - The user can read and modify events.
 func (c *CalendarListListCall) MinAccessRole(minAccessRole string) *CalendarListListCall {
-	c.urlParams_.Set("minAccessRole", minAccessRole)
+	c.opt_["minAccessRole"] = minAccessRole
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *CalendarListListCall) PageToken(pageToken string) *CalendarListListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2914,14 +2977,14 @@
 // include deleted calendar list entries in the result.  The default is
 // False.
 func (c *CalendarListListCall) ShowDeleted(showDeleted bool) *CalendarListListCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
 // ShowHidden sets the optional parameter "showHidden": Whether to show
 // hidden entries.  The default is False.
 func (c *CalendarListListCall) ShowHidden(showHidden bool) *CalendarListListCall {
-	c.urlParams_.Set("showHidden", fmt.Sprintf("%v", showHidden))
+	c.opt_["showHidden"] = showHidden
 	return c
 }
 
@@ -2941,15 +3004,15 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *CalendarListListCall) SyncToken(syncToken string) *CalendarListListCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListListCall) Fields(s ...googleapi.Field) *CalendarListListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2959,13 +3022,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CalendarListListCall) IfNoneMatch(entityTag string) *CalendarListListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListListCall) Context(ctx context.Context) *CalendarListListCall {
 	c.ctx_ = ctx
 	return c
@@ -2973,14 +3036,36 @@
 
 func (c *CalendarListListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minAccessRole"]; ok {
+		params.Set("minAccessRole", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showHidden"]; ok {
+		params.Set("showHidden", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3092,14 +3177,14 @@
 	s                 *Service
 	calendarId        string
 	calendarlistentry *CalendarListEntry
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Updates an entry on the user's calendar list. This method
 // supports patch semantics.
 func (r *CalendarListService) Patch(calendarId string, calendarlistentry *CalendarListEntry) *CalendarListPatchCall {
-	c := &CalendarListPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.calendarlistentry = calendarlistentry
 	return c
@@ -3111,21 +3196,21 @@
 // colorId field will be set to the best matching option automatically.
 // The default is False.
 func (c *CalendarListPatchCall) ColorRgbFormat(colorRgbFormat bool) *CalendarListPatchCall {
-	c.urlParams_.Set("colorRgbFormat", fmt.Sprintf("%v", colorRgbFormat))
+	c.opt_["colorRgbFormat"] = colorRgbFormat
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListPatchCall) Fields(s ...googleapi.Field) *CalendarListPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListPatchCall) Context(ctx context.Context) *CalendarListPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3138,9 +3223,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["colorRgbFormat"]; ok {
+		params.Set("colorRgbFormat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -3228,13 +3320,13 @@
 	s                 *Service
 	calendarId        string
 	calendarlistentry *CalendarListEntry
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Updates an entry on the user's calendar list.
 func (r *CalendarListService) Update(calendarId string, calendarlistentry *CalendarListEntry) *CalendarListUpdateCall {
-	c := &CalendarListUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.calendarlistentry = calendarlistentry
 	return c
@@ -3246,21 +3338,21 @@
 // colorId field will be set to the best matching option automatically.
 // The default is False.
 func (c *CalendarListUpdateCall) ColorRgbFormat(colorRgbFormat bool) *CalendarListUpdateCall {
-	c.urlParams_.Set("colorRgbFormat", fmt.Sprintf("%v", colorRgbFormat))
+	c.opt_["colorRgbFormat"] = colorRgbFormat
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListUpdateCall) Fields(s ...googleapi.Field) *CalendarListUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListUpdateCall) Context(ctx context.Context) *CalendarListUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3273,9 +3365,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["colorRgbFormat"]; ok {
+		params.Set("colorRgbFormat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -3360,15 +3459,15 @@
 // method id "calendar.calendarList.watch":
 
 type CalendarListWatchCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Watch: Watch for changes to CalendarList resources.
 func (r *CalendarListService) Watch(channel *Channel) *CalendarListWatchCall {
-	c := &CalendarListWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarListWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
@@ -3377,7 +3476,7 @@
 // of entries returned on one result page. By default the value is 100
 // entries. The page size can never be larger than 250 entries.
 func (c *CalendarListWatchCall) MaxResults(maxResults int64) *CalendarListWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3392,14 +3491,14 @@
 //   "reader" - The user can read events that are not private.
 //   "writer" - The user can read and modify events.
 func (c *CalendarListWatchCall) MinAccessRole(minAccessRole string) *CalendarListWatchCall {
-	c.urlParams_.Set("minAccessRole", minAccessRole)
+	c.opt_["minAccessRole"] = minAccessRole
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *CalendarListWatchCall) PageToken(pageToken string) *CalendarListWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3407,14 +3506,14 @@
 // include deleted calendar list entries in the result.  The default is
 // False.
 func (c *CalendarListWatchCall) ShowDeleted(showDeleted bool) *CalendarListWatchCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
 // ShowHidden sets the optional parameter "showHidden": Whether to show
 // hidden entries.  The default is False.
 func (c *CalendarListWatchCall) ShowHidden(showHidden bool) *CalendarListWatchCall {
-	c.urlParams_.Set("showHidden", fmt.Sprintf("%v", showHidden))
+	c.opt_["showHidden"] = showHidden
 	return c
 }
 
@@ -3434,21 +3533,21 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *CalendarListWatchCall) SyncToken(syncToken string) *CalendarListWatchCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarListWatchCall) Fields(s ...googleapi.Field) *CalendarListWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarListWatchCall) Context(ctx context.Context) *CalendarListWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3461,9 +3560,31 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minAccessRole"]; ok {
+		params.Set("minAccessRole", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showHidden"]; ok {
+		params.Set("showHidden", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/calendarList/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3581,29 +3702,29 @@
 type CalendarsClearCall struct {
 	s          *Service
 	calendarId string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Clear: Clears a primary calendar. This operation deletes all events
 // associated with the primary calendar of an account.
 func (r *CalendarsService) Clear(calendarId string) *CalendarsClearCall {
-	c := &CalendarsClearCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarsClearCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarsClearCall) Fields(s ...googleapi.Field) *CalendarsClearCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarsClearCall) Context(ctx context.Context) *CalendarsClearCall {
 	c.ctx_ = ctx
 	return c
@@ -3611,9 +3732,13 @@
 
 func (c *CalendarsClearCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/clear")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -3664,29 +3789,29 @@
 type CalendarsDeleteCall struct {
 	s          *Service
 	calendarId string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a secondary calendar. Use calendars.clear for
 // clearing all events on primary calendars.
 func (r *CalendarsService) Delete(calendarId string) *CalendarsDeleteCall {
-	c := &CalendarsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarsDeleteCall) Fields(s ...googleapi.Field) *CalendarsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarsDeleteCall) Context(ctx context.Context) *CalendarsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3694,9 +3819,13 @@
 
 func (c *CalendarsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -3745,25 +3874,24 @@
 // method id "calendar.calendars.get":
 
 type CalendarsGetCall struct {
-	s            *Service
-	calendarId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns metadata for a calendar.
 func (r *CalendarsService) Get(calendarId string) *CalendarsGetCall {
-	c := &CalendarsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarsGetCall) Fields(s ...googleapi.Field) *CalendarsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3773,13 +3901,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CalendarsGetCall) IfNoneMatch(entityTag string) *CalendarsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarsGetCall) Context(ctx context.Context) *CalendarsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3787,16 +3915,20 @@
 
 func (c *CalendarsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3869,30 +4001,30 @@
 // method id "calendar.calendars.insert":
 
 type CalendarsInsertCall struct {
-	s          *Service
-	calendar   *Calendar
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	calendar *Calendar
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a secondary calendar.
 func (r *CalendarsService) Insert(calendar *Calendar) *CalendarsInsertCall {
-	c := &CalendarsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendar = calendar
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarsInsertCall) Fields(s ...googleapi.Field) *CalendarsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarsInsertCall) Context(ctx context.Context) *CalendarsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3905,9 +4037,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3977,30 +4113,30 @@
 	s          *Service
 	calendarId string
 	calendar   *Calendar
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates metadata for a calendar. This method supports patch
 // semantics.
 func (r *CalendarsService) Patch(calendarId string, calendar *Calendar) *CalendarsPatchCall {
-	c := &CalendarsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.calendar = calendar
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarsPatchCall) Fields(s ...googleapi.Field) *CalendarsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarsPatchCall) Context(ctx context.Context) *CalendarsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4013,9 +4149,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -4098,29 +4238,29 @@
 	s          *Service
 	calendarId string
 	calendar   *Calendar
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates metadata for a calendar.
 func (r *CalendarsService) Update(calendarId string, calendar *Calendar) *CalendarsUpdateCall {
-	c := &CalendarsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CalendarsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.calendar = calendar
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CalendarsUpdateCall) Fields(s ...googleapi.Field) *CalendarsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CalendarsUpdateCall) Context(ctx context.Context) *CalendarsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4133,9 +4273,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -4215,30 +4359,30 @@
 // method id "calendar.channels.stop":
 
 type ChannelsStopCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Stop: Stop watching resources through this channel
 func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
-	c := &ChannelsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -4251,9 +4395,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channels/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -4295,23 +4443,22 @@
 // method id "calendar.colors.get":
 
 type ColorsGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Returns the color definitions for calendars and events.
 func (r *ColorsService) Get() *ColorsGetCall {
-	c := &ColorsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColorsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColorsGetCall) Fields(s ...googleapi.Field) *ColorsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4321,13 +4468,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ColorsGetCall) IfNoneMatch(entityTag string) *ColorsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColorsGetCall) Context(ctx context.Context) *ColorsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4335,14 +4482,18 @@
 
 func (c *ColorsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "colors")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4407,13 +4558,13 @@
 	s          *Service
 	calendarId string
 	eventId    string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an event.
 func (r *EventsService) Delete(calendarId string, eventId string) *EventsDeleteCall {
-	c := &EventsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.eventId = eventId
 	return c
@@ -4423,21 +4574,21 @@
 // Whether to send notifications about the deletion of the event.  The
 // default is False.
 func (c *EventsDeleteCall) SendNotifications(sendNotifications bool) *EventsDeleteCall {
-	c.urlParams_.Set("sendNotifications", fmt.Sprintf("%v", sendNotifications))
+	c.opt_["sendNotifications"] = sendNotifications
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsDeleteCall) Fields(s ...googleapi.Field) *EventsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsDeleteCall) Context(ctx context.Context) *EventsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4445,9 +4596,16 @@
 
 func (c *EventsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["sendNotifications"]; ok {
+		params.Set("sendNotifications", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/{eventId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -4509,17 +4667,16 @@
 // method id "calendar.events.get":
 
 type EventsGetCall struct {
-	s            *Service
-	calendarId   string
-	eventId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	eventId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns an event.
 func (r *EventsService) Get(calendarId string, eventId string) *EventsGetCall {
-	c := &EventsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.eventId = eventId
 	return c
@@ -4533,7 +4690,7 @@
 // cannot handle the absence of an email address value in the mentioned
 // places.  The default is False.
 func (c *EventsGetCall) AlwaysIncludeEmail(alwaysIncludeEmail bool) *EventsGetCall {
-	c.urlParams_.Set("alwaysIncludeEmail", fmt.Sprintf("%v", alwaysIncludeEmail))
+	c.opt_["alwaysIncludeEmail"] = alwaysIncludeEmail
 	return c
 }
 
@@ -4542,22 +4699,22 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsGetCall) MaxAttendees(maxAttendees int64) *EventsGetCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
 // TimeZone sets the optional parameter "timeZone": Time zone used in
 // the response.  The default is the time zone of the calendar.
 func (c *EventsGetCall) TimeZone(timeZone string) *EventsGetCall {
-	c.urlParams_.Set("timeZone", timeZone)
+	c.opt_["timeZone"] = timeZone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsGetCall) Fields(s ...googleapi.Field) *EventsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4567,13 +4724,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventsGetCall) IfNoneMatch(entityTag string) *EventsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsGetCall) Context(ctx context.Context) *EventsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4581,17 +4738,30 @@
 
 func (c *EventsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alwaysIncludeEmail"]; ok {
+		params.Set("alwaysIncludeEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeZone"]; ok {
+		params.Set("timeZone", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/{eventId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 		"eventId":    c.eventId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4691,14 +4861,14 @@
 	s          *Service
 	calendarId string
 	event      *Event
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Import: Imports an event. This operation is used to add a private
 // copy of an existing event to a calendar.
 func (r *EventsService) Import(calendarId string, event *Event) *EventsImportCall {
-	c := &EventsImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.event = event
 	return c
@@ -4708,21 +4878,21 @@
 // "supportsAttachments": Whether API client performing operation
 // supports event attachments.  The default is False.
 func (c *EventsImportCall) SupportsAttachments(supportsAttachments bool) *EventsImportCall {
-	c.urlParams_.Set("supportsAttachments", fmt.Sprintf("%v", supportsAttachments))
+	c.opt_["supportsAttachments"] = supportsAttachments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsImportCall) Fields(s ...googleapi.Field) *EventsImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsImportCall) Context(ctx context.Context) *EventsImportCall {
 	c.ctx_ = ctx
 	return c
@@ -4735,9 +4905,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["supportsAttachments"]; ok {
+		params.Set("supportsAttachments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/import")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -4825,13 +5002,13 @@
 	s          *Service
 	calendarId string
 	event      *Event
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates an event.
 func (r *EventsService) Insert(calendarId string, event *Event) *EventsInsertCall {
-	c := &EventsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.event = event
 	return c
@@ -4842,7 +5019,7 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsInsertCall) MaxAttendees(maxAttendees int64) *EventsInsertCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
@@ -4850,7 +5027,7 @@
 // Whether to send notifications about the creation of the new event.
 // The default is False.
 func (c *EventsInsertCall) SendNotifications(sendNotifications bool) *EventsInsertCall {
-	c.urlParams_.Set("sendNotifications", fmt.Sprintf("%v", sendNotifications))
+	c.opt_["sendNotifications"] = sendNotifications
 	return c
 }
 
@@ -4858,21 +5035,21 @@
 // "supportsAttachments": Whether API client performing operation
 // supports event attachments.  The default is False.
 func (c *EventsInsertCall) SupportsAttachments(supportsAttachments bool) *EventsInsertCall {
-	c.urlParams_.Set("supportsAttachments", fmt.Sprintf("%v", supportsAttachments))
+	c.opt_["supportsAttachments"] = supportsAttachments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsInsertCall) Fields(s ...googleapi.Field) *EventsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsInsertCall) Context(ctx context.Context) *EventsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4885,9 +5062,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sendNotifications"]; ok {
+		params.Set("sendNotifications", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["supportsAttachments"]; ok {
+		params.Set("supportsAttachments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -4984,17 +5174,16 @@
 // method id "calendar.events.instances":
 
 type EventsInstancesCall struct {
-	s            *Service
-	calendarId   string
-	eventId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	eventId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Instances: Returns instances of the specified recurring event.
 func (r *EventsService) Instances(calendarId string, eventId string) *EventsInstancesCall {
-	c := &EventsInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.eventId = eventId
 	return c
@@ -5008,7 +5197,7 @@
 // cannot handle the absence of an email address value in the mentioned
 // places.  The default is False.
 func (c *EventsInstancesCall) AlwaysIncludeEmail(alwaysIncludeEmail bool) *EventsInstancesCall {
-	c.urlParams_.Set("alwaysIncludeEmail", fmt.Sprintf("%v", alwaysIncludeEmail))
+	c.opt_["alwaysIncludeEmail"] = alwaysIncludeEmail
 	return c
 }
 
@@ -5017,7 +5206,7 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsInstancesCall) MaxAttendees(maxAttendees int64) *EventsInstancesCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
@@ -5025,21 +5214,21 @@
 // of events returned on one result page. By default the value is 250
 // events. The page size can never be larger than 2500 events.
 func (c *EventsInstancesCall) MaxResults(maxResults int64) *EventsInstancesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OriginalStart sets the optional parameter "originalStart": The
 // original start time of the instance in the result.
 func (c *EventsInstancesCall) OriginalStart(originalStart string) *EventsInstancesCall {
-	c.urlParams_.Set("originalStart", originalStart)
+	c.opt_["originalStart"] = originalStart
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *EventsInstancesCall) PageToken(pageToken string) *EventsInstancesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -5048,7 +5237,7 @@
 // result. Cancelled instances of recurring events will still be
 // included if singleEvents is False.  The default is False.
 func (c *EventsInstancesCall) ShowDeleted(showDeleted bool) *EventsInstancesCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -5057,7 +5246,7 @@
 // not to filter by start time. Must be an RFC3339 timestamp with
 // mandatory time zone offset.
 func (c *EventsInstancesCall) TimeMax(timeMax string) *EventsInstancesCall {
-	c.urlParams_.Set("timeMax", timeMax)
+	c.opt_["timeMax"] = timeMax
 	return c
 }
 
@@ -5066,22 +5255,22 @@
 // to filter by end time. Must be an RFC3339 timestamp with mandatory
 // time zone offset.
 func (c *EventsInstancesCall) TimeMin(timeMin string) *EventsInstancesCall {
-	c.urlParams_.Set("timeMin", timeMin)
+	c.opt_["timeMin"] = timeMin
 	return c
 }
 
 // TimeZone sets the optional parameter "timeZone": Time zone used in
 // the response.  The default is the time zone of the calendar.
 func (c *EventsInstancesCall) TimeZone(timeZone string) *EventsInstancesCall {
-	c.urlParams_.Set("timeZone", timeZone)
+	c.opt_["timeZone"] = timeZone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsInstancesCall) Fields(s ...googleapi.Field) *EventsInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5091,13 +5280,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventsInstancesCall) IfNoneMatch(entityTag string) *EventsInstancesCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsInstancesCall) Context(ctx context.Context) *EventsInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -5105,17 +5294,48 @@
 
 func (c *EventsInstancesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alwaysIncludeEmail"]; ok {
+		params.Set("alwaysIncludeEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["originalStart"]; ok {
+		params.Set("originalStart", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeMax"]; ok {
+		params.Set("timeMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeMin"]; ok {
+		params.Set("timeMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeZone"]; ok {
+		params.Set("timeZone", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/{eventId}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 		"eventId":    c.eventId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5247,16 +5467,15 @@
 // method id "calendar.events.list":
 
 type EventsListCall struct {
-	s            *Service
-	calendarId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	calendarId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Returns events on the specified calendar.
 func (r *EventsService) List(calendarId string) *EventsListCall {
-	c := &EventsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	return c
 }
@@ -5269,14 +5488,14 @@
 // cannot handle the absence of an email address value in the mentioned
 // places.  The default is False.
 func (c *EventsListCall) AlwaysIncludeEmail(alwaysIncludeEmail bool) *EventsListCall {
-	c.urlParams_.Set("alwaysIncludeEmail", fmt.Sprintf("%v", alwaysIncludeEmail))
+	c.opt_["alwaysIncludeEmail"] = alwaysIncludeEmail
 	return c
 }
 
 // ICalUID sets the optional parameter "iCalUID": Specifies event ID in
 // the iCalendar format to be included in the response.
 func (c *EventsListCall) ICalUID(iCalUID string) *EventsListCall {
-	c.urlParams_.Set("iCalUID", iCalUID)
+	c.opt_["iCalUID"] = iCalUID
 	return c
 }
 
@@ -5285,7 +5504,7 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsListCall) MaxAttendees(maxAttendees int64) *EventsListCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
@@ -5293,7 +5512,7 @@
 // of events returned on one result page. By default the value is 250
 // events. The page size can never be larger than 2500 events.
 func (c *EventsListCall) MaxResults(maxResults int64) *EventsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5307,14 +5526,14 @@
 // singleEvents is True)
 //   "updated" - Order by last modification time (ascending).
 func (c *EventsListCall) OrderBy(orderBy string) *EventsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *EventsListCall) PageToken(pageToken string) *EventsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -5323,8 +5542,8 @@
 // as propertyName=value. Matches only private properties. This
 // parameter might be repeated multiple times to return events that
 // match all given constraints.
-func (c *EventsListCall) PrivateExtendedProperty(privateExtendedProperty []string) *EventsListCall {
-	c.urlParams_.SetMulti("privateExtendedProperty", append([]string{}, privateExtendedProperty...))
+func (c *EventsListCall) PrivateExtendedProperty(privateExtendedProperty string) *EventsListCall {
+	c.opt_["privateExtendedProperty"] = privateExtendedProperty
 	return c
 }
 
@@ -5332,7 +5551,7 @@
 // events that match these terms in any field, except for extended
 // properties.
 func (c *EventsListCall) Q(q string) *EventsListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
@@ -5341,8 +5560,8 @@
 // propertyName=value. Matches only shared properties. This parameter
 // might be repeated multiple times to return events that match all
 // given constraints.
-func (c *EventsListCall) SharedExtendedProperty(sharedExtendedProperty []string) *EventsListCall {
-	c.urlParams_.SetMulti("sharedExtendedProperty", append([]string{}, sharedExtendedProperty...))
+func (c *EventsListCall) SharedExtendedProperty(sharedExtendedProperty string) *EventsListCall {
+	c.opt_["sharedExtendedProperty"] = sharedExtendedProperty
 	return c
 }
 
@@ -5354,7 +5573,7 @@
 // True, only single instances of deleted events (but not the underlying
 // recurring events) are returned.  The default is False.
 func (c *EventsListCall) ShowDeleted(showDeleted bool) *EventsListCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -5362,7 +5581,7 @@
 // "showHiddenInvitations": Whether to include hidden invitations in the
 // result.  The default is False.
 func (c *EventsListCall) ShowHiddenInvitations(showHiddenInvitations bool) *EventsListCall {
-	c.urlParams_.Set("showHiddenInvitations", fmt.Sprintf("%v", showHiddenInvitations))
+	c.opt_["showHiddenInvitations"] = showHiddenInvitations
 	return c
 }
 
@@ -5371,7 +5590,7 @@
 // events and instances of recurring events, but not the underlying
 // recurring events themselves.  The default is False.
 func (c *EventsListCall) SingleEvents(singleEvents bool) *EventsListCall {
-	c.urlParams_.Set("singleEvents", fmt.Sprintf("%v", singleEvents))
+	c.opt_["singleEvents"] = singleEvents
 	return c
 }
 
@@ -5398,7 +5617,7 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *EventsListCall) SyncToken(syncToken string) *EventsListCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
@@ -5409,7 +5628,7 @@
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be
 // ignored.
 func (c *EventsListCall) TimeMax(timeMax string) *EventsListCall {
-	c.urlParams_.Set("timeMax", timeMax)
+	c.opt_["timeMax"] = timeMax
 	return c
 }
 
@@ -5420,14 +5639,14 @@
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be
 // ignored.
 func (c *EventsListCall) TimeMin(timeMin string) *EventsListCall {
-	c.urlParams_.Set("timeMin", timeMin)
+	c.opt_["timeMin"] = timeMin
 	return c
 }
 
 // TimeZone sets the optional parameter "timeZone": Time zone used in
 // the response.  The default is the time zone of the calendar.
 func (c *EventsListCall) TimeZone(timeZone string) *EventsListCall {
-	c.urlParams_.Set("timeZone", timeZone)
+	c.opt_["timeZone"] = timeZone
 	return c
 }
 
@@ -5437,15 +5656,15 @@
 // included regardless of showDeleted.  The default is not to filter by
 // last modification time.
 func (c *EventsListCall) UpdatedMin(updatedMin string) *EventsListCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsListCall) Fields(s ...googleapi.Field) *EventsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5455,13 +5674,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventsListCall) IfNoneMatch(entityTag string) *EventsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsListCall) Context(ctx context.Context) *EventsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5469,16 +5688,71 @@
 
 func (c *EventsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alwaysIncludeEmail"]; ok {
+		params.Set("alwaysIncludeEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["iCalUID"]; ok {
+		params.Set("iCalUID", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["privateExtendedProperty"]; ok {
+		params.Set("privateExtendedProperty", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sharedExtendedProperty"]; ok {
+		params.Set("sharedExtendedProperty", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showHiddenInvitations"]; ok {
+		params.Set("showHiddenInvitations", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["singleEvents"]; ok {
+		params.Set("singleEvents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeMax"]; ok {
+		params.Set("timeMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeMin"]; ok {
+		params.Set("timeMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeZone"]; ok {
+		params.Set("timeZone", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5654,20 +5928,21 @@
 // method id "calendar.events.move":
 
 type EventsMoveCall struct {
-	s          *Service
-	calendarId string
-	eventId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s             *Service
+	calendarId    string
+	eventId       string
+	destinationid string
+	opt_          map[string]interface{}
+	ctx_          context.Context
 }
 
 // Move: Moves an event to another calendar, i.e. changes an event's
 // organizer.
 func (r *EventsService) Move(calendarId string, eventId string, destinationid string) *EventsMoveCall {
-	c := &EventsMoveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsMoveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.eventId = eventId
-	c.urlParams_.Set("destinationid", destinationid)
+	c.destinationid = destinationid
 	return c
 }
 
@@ -5675,21 +5950,21 @@
 // Whether to send notifications about the change of the event's
 // organizer.  The default is False.
 func (c *EventsMoveCall) SendNotifications(sendNotifications bool) *EventsMoveCall {
-	c.urlParams_.Set("sendNotifications", fmt.Sprintf("%v", sendNotifications))
+	c.opt_["sendNotifications"] = sendNotifications
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsMoveCall) Fields(s ...googleapi.Field) *EventsMoveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsMoveCall) Context(ctx context.Context) *EventsMoveCall {
 	c.ctx_ = ctx
 	return c
@@ -5697,9 +5972,17 @@
 
 func (c *EventsMoveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("destination", fmt.Sprintf("%v", c.destinationid))
+	if v, ok := c.opt_["sendNotifications"]; ok {
+		params.Set("sendNotifications", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/{eventId}/move")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -5799,13 +6082,13 @@
 	calendarId string
 	eventId    string
 	event      *Event
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an event. This method supports patch semantics.
 func (r *EventsService) Patch(calendarId string, eventId string, event *Event) *EventsPatchCall {
-	c := &EventsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.eventId = eventId
 	c.event = event
@@ -5820,7 +6103,7 @@
 // cannot handle the absence of an email address value in the mentioned
 // places.  The default is False.
 func (c *EventsPatchCall) AlwaysIncludeEmail(alwaysIncludeEmail bool) *EventsPatchCall {
-	c.urlParams_.Set("alwaysIncludeEmail", fmt.Sprintf("%v", alwaysIncludeEmail))
+	c.opt_["alwaysIncludeEmail"] = alwaysIncludeEmail
 	return c
 }
 
@@ -5829,7 +6112,7 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsPatchCall) MaxAttendees(maxAttendees int64) *EventsPatchCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
@@ -5837,7 +6120,7 @@
 // Whether to send notifications about the event update (e.g. attendee's
 // responses, title changes, etc.).  The default is False.
 func (c *EventsPatchCall) SendNotifications(sendNotifications bool) *EventsPatchCall {
-	c.urlParams_.Set("sendNotifications", fmt.Sprintf("%v", sendNotifications))
+	c.opt_["sendNotifications"] = sendNotifications
 	return c
 }
 
@@ -5845,21 +6128,21 @@
 // "supportsAttachments": Whether API client performing operation
 // supports event attachments.  The default is False.
 func (c *EventsPatchCall) SupportsAttachments(supportsAttachments bool) *EventsPatchCall {
-	c.urlParams_.Set("supportsAttachments", fmt.Sprintf("%v", supportsAttachments))
+	c.opt_["supportsAttachments"] = supportsAttachments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsPatchCall) Fields(s ...googleapi.Field) *EventsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsPatchCall) Context(ctx context.Context) *EventsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5872,9 +6155,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alwaysIncludeEmail"]; ok {
+		params.Set("alwaysIncludeEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sendNotifications"]; ok {
+		params.Set("sendNotifications", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["supportsAttachments"]; ok {
+		params.Set("supportsAttachments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/{eventId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -5986,15 +6285,16 @@
 type EventsQuickAddCall struct {
 	s          *Service
 	calendarId string
-	urlParams_ internal.URLParams
+	text       string
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // QuickAdd: Creates an event based on a simple text string.
 func (r *EventsService) QuickAdd(calendarId string, text string) *EventsQuickAddCall {
-	c := &EventsQuickAddCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsQuickAddCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
-	c.urlParams_.Set("text", text)
+	c.text = text
 	return c
 }
 
@@ -6002,21 +6302,21 @@
 // Whether to send notifications about the creation of the event.  The
 // default is False.
 func (c *EventsQuickAddCall) SendNotifications(sendNotifications bool) *EventsQuickAddCall {
-	c.urlParams_.Set("sendNotifications", fmt.Sprintf("%v", sendNotifications))
+	c.opt_["sendNotifications"] = sendNotifications
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsQuickAddCall) Fields(s ...googleapi.Field) *EventsQuickAddCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsQuickAddCall) Context(ctx context.Context) *EventsQuickAddCall {
 	c.ctx_ = ctx
 	return c
@@ -6024,9 +6324,17 @@
 
 func (c *EventsQuickAddCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("text", fmt.Sprintf("%v", c.text))
+	if v, ok := c.opt_["sendNotifications"]; ok {
+		params.Set("sendNotifications", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/quickAdd")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -6118,13 +6426,13 @@
 	calendarId string
 	eventId    string
 	event      *Event
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an event.
 func (r *EventsService) Update(calendarId string, eventId string, event *Event) *EventsUpdateCall {
-	c := &EventsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.eventId = eventId
 	c.event = event
@@ -6139,7 +6447,7 @@
 // cannot handle the absence of an email address value in the mentioned
 // places.  The default is False.
 func (c *EventsUpdateCall) AlwaysIncludeEmail(alwaysIncludeEmail bool) *EventsUpdateCall {
-	c.urlParams_.Set("alwaysIncludeEmail", fmt.Sprintf("%v", alwaysIncludeEmail))
+	c.opt_["alwaysIncludeEmail"] = alwaysIncludeEmail
 	return c
 }
 
@@ -6148,7 +6456,7 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsUpdateCall) MaxAttendees(maxAttendees int64) *EventsUpdateCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
@@ -6156,7 +6464,7 @@
 // Whether to send notifications about the event update (e.g. attendee's
 // responses, title changes, etc.).  The default is False.
 func (c *EventsUpdateCall) SendNotifications(sendNotifications bool) *EventsUpdateCall {
-	c.urlParams_.Set("sendNotifications", fmt.Sprintf("%v", sendNotifications))
+	c.opt_["sendNotifications"] = sendNotifications
 	return c
 }
 
@@ -6164,21 +6472,21 @@
 // "supportsAttachments": Whether API client performing operation
 // supports event attachments.  The default is False.
 func (c *EventsUpdateCall) SupportsAttachments(supportsAttachments bool) *EventsUpdateCall {
-	c.urlParams_.Set("supportsAttachments", fmt.Sprintf("%v", supportsAttachments))
+	c.opt_["supportsAttachments"] = supportsAttachments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsUpdateCall) Fields(s ...googleapi.Field) *EventsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsUpdateCall) Context(ctx context.Context) *EventsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6191,9 +6499,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alwaysIncludeEmail"]; ok {
+		params.Set("alwaysIncludeEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sendNotifications"]; ok {
+		params.Set("sendNotifications", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["supportsAttachments"]; ok {
+		params.Set("supportsAttachments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/{eventId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -6306,13 +6630,13 @@
 	s          *Service
 	calendarId string
 	channel    *Channel
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Watch: Watch for changes to Events resources.
 func (r *EventsService) Watch(calendarId string, channel *Channel) *EventsWatchCall {
-	c := &EventsWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.calendarId = calendarId
 	c.channel = channel
 	return c
@@ -6326,14 +6650,14 @@
 // cannot handle the absence of an email address value in the mentioned
 // places.  The default is False.
 func (c *EventsWatchCall) AlwaysIncludeEmail(alwaysIncludeEmail bool) *EventsWatchCall {
-	c.urlParams_.Set("alwaysIncludeEmail", fmt.Sprintf("%v", alwaysIncludeEmail))
+	c.opt_["alwaysIncludeEmail"] = alwaysIncludeEmail
 	return c
 }
 
 // ICalUID sets the optional parameter "iCalUID": Specifies event ID in
 // the iCalendar format to be included in the response.
 func (c *EventsWatchCall) ICalUID(iCalUID string) *EventsWatchCall {
-	c.urlParams_.Set("iCalUID", iCalUID)
+	c.opt_["iCalUID"] = iCalUID
 	return c
 }
 
@@ -6342,7 +6666,7 @@
 // than the specified number of attendees, only the participant is
 // returned.
 func (c *EventsWatchCall) MaxAttendees(maxAttendees int64) *EventsWatchCall {
-	c.urlParams_.Set("maxAttendees", fmt.Sprintf("%v", maxAttendees))
+	c.opt_["maxAttendees"] = maxAttendees
 	return c
 }
 
@@ -6350,7 +6674,7 @@
 // of events returned on one result page. By default the value is 250
 // events. The page size can never be larger than 2500 events.
 func (c *EventsWatchCall) MaxResults(maxResults int64) *EventsWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6364,14 +6688,14 @@
 // singleEvents is True)
 //   "updated" - Order by last modification time (ascending).
 func (c *EventsWatchCall) OrderBy(orderBy string) *EventsWatchCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *EventsWatchCall) PageToken(pageToken string) *EventsWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6380,8 +6704,8 @@
 // as propertyName=value. Matches only private properties. This
 // parameter might be repeated multiple times to return events that
 // match all given constraints.
-func (c *EventsWatchCall) PrivateExtendedProperty(privateExtendedProperty []string) *EventsWatchCall {
-	c.urlParams_.SetMulti("privateExtendedProperty", append([]string{}, privateExtendedProperty...))
+func (c *EventsWatchCall) PrivateExtendedProperty(privateExtendedProperty string) *EventsWatchCall {
+	c.opt_["privateExtendedProperty"] = privateExtendedProperty
 	return c
 }
 
@@ -6389,7 +6713,7 @@
 // events that match these terms in any field, except for extended
 // properties.
 func (c *EventsWatchCall) Q(q string) *EventsWatchCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
@@ -6398,8 +6722,8 @@
 // propertyName=value. Matches only shared properties. This parameter
 // might be repeated multiple times to return events that match all
 // given constraints.
-func (c *EventsWatchCall) SharedExtendedProperty(sharedExtendedProperty []string) *EventsWatchCall {
-	c.urlParams_.SetMulti("sharedExtendedProperty", append([]string{}, sharedExtendedProperty...))
+func (c *EventsWatchCall) SharedExtendedProperty(sharedExtendedProperty string) *EventsWatchCall {
+	c.opt_["sharedExtendedProperty"] = sharedExtendedProperty
 	return c
 }
 
@@ -6411,7 +6735,7 @@
 // True, only single instances of deleted events (but not the underlying
 // recurring events) are returned.  The default is False.
 func (c *EventsWatchCall) ShowDeleted(showDeleted bool) *EventsWatchCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -6419,7 +6743,7 @@
 // "showHiddenInvitations": Whether to include hidden invitations in the
 // result.  The default is False.
 func (c *EventsWatchCall) ShowHiddenInvitations(showHiddenInvitations bool) *EventsWatchCall {
-	c.urlParams_.Set("showHiddenInvitations", fmt.Sprintf("%v", showHiddenInvitations))
+	c.opt_["showHiddenInvitations"] = showHiddenInvitations
 	return c
 }
 
@@ -6428,7 +6752,7 @@
 // events and instances of recurring events, but not the underlying
 // recurring events themselves.  The default is False.
 func (c *EventsWatchCall) SingleEvents(singleEvents bool) *EventsWatchCall {
-	c.urlParams_.Set("singleEvents", fmt.Sprintf("%v", singleEvents))
+	c.opt_["singleEvents"] = singleEvents
 	return c
 }
 
@@ -6455,7 +6779,7 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *EventsWatchCall) SyncToken(syncToken string) *EventsWatchCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
@@ -6466,7 +6790,7 @@
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be
 // ignored.
 func (c *EventsWatchCall) TimeMax(timeMax string) *EventsWatchCall {
-	c.urlParams_.Set("timeMax", timeMax)
+	c.opt_["timeMax"] = timeMax
 	return c
 }
 
@@ -6477,14 +6801,14 @@
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be
 // ignored.
 func (c *EventsWatchCall) TimeMin(timeMin string) *EventsWatchCall {
-	c.urlParams_.Set("timeMin", timeMin)
+	c.opt_["timeMin"] = timeMin
 	return c
 }
 
 // TimeZone sets the optional parameter "timeZone": Time zone used in
 // the response.  The default is the time zone of the calendar.
 func (c *EventsWatchCall) TimeZone(timeZone string) *EventsWatchCall {
-	c.urlParams_.Set("timeZone", timeZone)
+	c.opt_["timeZone"] = timeZone
 	return c
 }
 
@@ -6494,21 +6818,21 @@
 // included regardless of showDeleted.  The default is not to filter by
 // last modification time.
 func (c *EventsWatchCall) UpdatedMin(updatedMin string) *EventsWatchCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsWatchCall) Fields(s ...googleapi.Field) *EventsWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsWatchCall) Context(ctx context.Context) *EventsWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6521,9 +6845,64 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alwaysIncludeEmail"]; ok {
+		params.Set("alwaysIncludeEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["iCalUID"]; ok {
+		params.Set("iCalUID", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxAttendees"]; ok {
+		params.Set("maxAttendees", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["privateExtendedProperty"]; ok {
+		params.Set("privateExtendedProperty", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sharedExtendedProperty"]; ok {
+		params.Set("sharedExtendedProperty", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showHiddenInvitations"]; ok {
+		params.Set("showHiddenInvitations", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["singleEvents"]; ok {
+		params.Set("singleEvents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeMax"]; ok {
+		params.Set("timeMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeMin"]; ok {
+		params.Set("timeMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timeZone"]; ok {
+		params.Set("timeZone", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "calendars/{calendarId}/events/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"calendarId": c.calendarId,
@@ -6710,28 +7089,28 @@
 type FreebusyQueryCall struct {
 	s               *Service
 	freebusyrequest *FreeBusyRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Query: Returns free/busy information for a set of calendars.
 func (r *FreebusyService) Query(freebusyrequest *FreeBusyRequest) *FreebusyQueryCall {
-	c := &FreebusyQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FreebusyQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.freebusyrequest = freebusyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FreebusyQueryCall) Fields(s ...googleapi.Field) *FreebusyQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FreebusyQueryCall) Context(ctx context.Context) *FreebusyQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -6744,9 +7123,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "freeBusy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6814,25 +7197,24 @@
 // method id "calendar.settings.get":
 
 type SettingsGetCall struct {
-	s            *Service
-	setting      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	setting string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns a single user setting.
 func (r *SettingsService) Get(setting string) *SettingsGetCall {
-	c := &SettingsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SettingsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.setting = setting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SettingsGetCall) Fields(s ...googleapi.Field) *SettingsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6842,13 +7224,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SettingsGetCall) IfNoneMatch(entityTag string) *SettingsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SettingsGetCall) Context(ctx context.Context) *SettingsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6856,16 +7238,20 @@
 
 func (c *SettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/settings/{setting}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"setting": c.setting,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6938,15 +7324,14 @@
 // method id "calendar.settings.list":
 
 type SettingsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns all user settings for the authenticated user.
 func (r *SettingsService) List() *SettingsListCall {
-	c := &SettingsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SettingsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6954,14 +7339,14 @@
 // of entries returned on one result page. By default the value is 100
 // entries. The page size can never be larger than 250 entries.
 func (c *SettingsListCall) MaxResults(maxResults int64) *SettingsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *SettingsListCall) PageToken(pageToken string) *SettingsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6975,15 +7360,15 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *SettingsListCall) SyncToken(syncToken string) *SettingsListCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SettingsListCall) Fields(s ...googleapi.Field) *SettingsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6993,13 +7378,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SettingsListCall) IfNoneMatch(entityTag string) *SettingsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SettingsListCall) Context(ctx context.Context) *SettingsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7007,14 +7392,27 @@
 
 func (c *SettingsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/settings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7096,15 +7494,15 @@
 // method id "calendar.settings.watch":
 
 type SettingsWatchCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Watch: Watch for changes to Settings resources.
 func (r *SettingsService) Watch(channel *Channel) *SettingsWatchCall {
-	c := &SettingsWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SettingsWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
@@ -7113,14 +7511,14 @@
 // of entries returned on one result page. By default the value is 100
 // entries. The page size can never be larger than 250 entries.
 func (c *SettingsWatchCall) MaxResults(maxResults int64) *SettingsWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // which result page to return.
 func (c *SettingsWatchCall) PageToken(pageToken string) *SettingsWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -7134,21 +7532,21 @@
 // Learn more about incremental synchronization.
 //  The default is to return all entries.
 func (c *SettingsWatchCall) SyncToken(syncToken string) *SettingsWatchCall {
-	c.urlParams_.Set("syncToken", syncToken)
+	c.opt_["syncToken"] = syncToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SettingsWatchCall) Fields(s ...googleapi.Field) *SettingsWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SettingsWatchCall) Context(ctx context.Context) *SettingsWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7161,9 +7559,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["syncToken"]; ok {
+		params.Set("syncToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/me/settings/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/civicinfo/v2/civicinfo-gen.go b/civicinfo/v2/civicinfo-gen.go
index 205b374..4af66bd 100644
--- a/civicinfo/v2/civicinfo-gen.go
+++ b/civicinfo/v2/civicinfo-gen.go
@@ -972,16 +972,15 @@
 // method id "civicinfo.divisions.search":
 
 type DivisionsSearchCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Search: Searches for political divisions by their natural name or OCD
 // ID.
 func (r *DivisionsService) Search() *DivisionsSearchCall {
-	c := &DivisionsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DivisionsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -992,15 +991,15 @@
 // are supported. See
 // http://lucene.apache.org/core/2_9_4/queryparsersyntax.html
 func (c *DivisionsSearchCall) Query(query string) *DivisionsSearchCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DivisionsSearchCall) Fields(s ...googleapi.Field) *DivisionsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1010,13 +1009,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DivisionsSearchCall) IfNoneMatch(entityTag string) *DivisionsSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DivisionsSearchCall) Context(ctx context.Context) *DivisionsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -1024,14 +1023,21 @@
 
 func (c *DivisionsSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "divisions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1096,23 +1102,22 @@
 // method id "civicinfo.elections.electionQuery":
 
 type ElectionsElectionQueryCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ElectionQuery: List of available elections to query.
 func (r *ElectionsService) ElectionQuery() *ElectionsElectionQueryCall {
-	c := &ElectionsElectionQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ElectionsElectionQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ElectionsElectionQueryCall) Fields(s ...googleapi.Field) *ElectionsElectionQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1122,13 +1127,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ElectionsElectionQueryCall) IfNoneMatch(entityTag string) *ElectionsElectionQueryCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ElectionsElectionQueryCall) Context(ctx context.Context) *ElectionsElectionQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1136,14 +1141,18 @@
 
 func (c *ElectionsElectionQueryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "elections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1201,17 +1210,17 @@
 // method id "civicinfo.elections.voterInfoQuery":
 
 type ElectionsVoterInfoQueryCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // VoterInfoQuery: Looks up information relevant to a voter based on the
 // voter's registered address.
 func (r *ElectionsService) VoterInfoQuery(address string) *ElectionsVoterInfoQueryCall {
-	c := &ElectionsVoterInfoQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("address", address)
+	c := &ElectionsVoterInfoQueryCall{s: r.s, opt_: make(map[string]interface{})}
+	c.address = address
 	return c
 }
 
@@ -1219,22 +1228,22 @@
 // the election to look up. A list of election IDs can be obtained at
 // https://www.googleapis.com/civicinfo/{version}/elections
 func (c *ElectionsVoterInfoQueryCall) ElectionId(electionId int64) *ElectionsVoterInfoQueryCall {
-	c.urlParams_.Set("electionId", fmt.Sprintf("%v", electionId))
+	c.opt_["electionId"] = electionId
 	return c
 }
 
 // OfficialOnly sets the optional parameter "officialOnly": If set to
 // true, only data from official state sources will be returned.
 func (c *ElectionsVoterInfoQueryCall) OfficialOnly(officialOnly bool) *ElectionsVoterInfoQueryCall {
-	c.urlParams_.Set("officialOnly", fmt.Sprintf("%v", officialOnly))
+	c.opt_["officialOnly"] = officialOnly
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ElectionsVoterInfoQueryCall) Fields(s ...googleapi.Field) *ElectionsVoterInfoQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1244,13 +1253,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ElectionsVoterInfoQueryCall) IfNoneMatch(entityTag string) *ElectionsVoterInfoQueryCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ElectionsVoterInfoQueryCall) Context(ctx context.Context) *ElectionsVoterInfoQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1258,14 +1267,25 @@
 
 func (c *ElectionsVoterInfoQueryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("address", fmt.Sprintf("%v", c.address))
+	if v, ok := c.opt_["electionId"]; ok {
+		params.Set("electionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["officialOnly"]; ok {
+		params.Set("officialOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "voterinfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1347,23 +1367,22 @@
 // method id "civicinfo.representatives.representativeInfoByAddress":
 
 type RepresentativesRepresentativeInfoByAddressCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // RepresentativeInfoByAddress: Looks up political geography and
 // representative information for a single address.
 func (r *RepresentativesService) RepresentativeInfoByAddress() *RepresentativesRepresentativeInfoByAddressCall {
-	c := &RepresentativesRepresentativeInfoByAddressCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepresentativesRepresentativeInfoByAddressCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Address sets the optional parameter "address": The address to look
 // up. May only be specified if the field ocdId is not given in the URL.
 func (c *RepresentativesRepresentativeInfoByAddressCall) Address(address string) *RepresentativesRepresentativeInfoByAddressCall {
-	c.urlParams_.Set("address", address)
+	c.opt_["address"] = address
 	return c
 }
 
@@ -1371,7 +1390,7 @@
 // to return information about offices and officials. If false, only the
 // top-level district information will be returned.
 func (c *RepresentativesRepresentativeInfoByAddressCall) IncludeOffices(includeOffices bool) *RepresentativesRepresentativeInfoByAddressCall {
-	c.urlParams_.Set("includeOffices", fmt.Sprintf("%v", includeOffices))
+	c.opt_["includeOffices"] = includeOffices
 	return c
 }
 
@@ -1390,8 +1409,8 @@
 //   "special"
 //   "subLocality1"
 //   "subLocality2"
-func (c *RepresentativesRepresentativeInfoByAddressCall) Levels(levels []string) *RepresentativesRepresentativeInfoByAddressCall {
-	c.urlParams_.SetMulti("levels", append([]string{}, levels...))
+func (c *RepresentativesRepresentativeInfoByAddressCall) Levels(levels string) *RepresentativesRepresentativeInfoByAddressCall {
+	c.opt_["levels"] = levels
 	return c
 }
 
@@ -1412,16 +1431,16 @@
 //   "legislatorUpperBody"
 //   "schoolBoard"
 //   "specialPurposeOfficer"
-func (c *RepresentativesRepresentativeInfoByAddressCall) Roles(roles []string) *RepresentativesRepresentativeInfoByAddressCall {
-	c.urlParams_.SetMulti("roles", append([]string{}, roles...))
+func (c *RepresentativesRepresentativeInfoByAddressCall) Roles(roles string) *RepresentativesRepresentativeInfoByAddressCall {
+	c.opt_["roles"] = roles
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepresentativesRepresentativeInfoByAddressCall) Fields(s ...googleapi.Field) *RepresentativesRepresentativeInfoByAddressCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1431,13 +1450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RepresentativesRepresentativeInfoByAddressCall) IfNoneMatch(entityTag string) *RepresentativesRepresentativeInfoByAddressCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepresentativesRepresentativeInfoByAddressCall) Context(ctx context.Context) *RepresentativesRepresentativeInfoByAddressCall {
 	c.ctx_ = ctx
 	return c
@@ -1445,14 +1464,30 @@
 
 func (c *RepresentativesRepresentativeInfoByAddressCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["address"]; ok {
+		params.Set("address", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeOffices"]; ok {
+		params.Set("includeOffices", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["levels"]; ok {
+		params.Set("levels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["roles"]; ok {
+		params.Set("roles", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "representatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1583,17 +1618,16 @@
 // method id "civicinfo.representatives.representativeInfoByDivision":
 
 type RepresentativesRepresentativeInfoByDivisionCall struct {
-	s            *Service
-	ocdId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	ocdId string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // RepresentativeInfoByDivision: Looks up representative information for
 // a single geographic division.
 func (r *RepresentativesService) RepresentativeInfoByDivision(ocdId string) *RepresentativesRepresentativeInfoByDivisionCall {
-	c := &RepresentativesRepresentativeInfoByDivisionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepresentativesRepresentativeInfoByDivisionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.ocdId = ocdId
 	return c
 }
@@ -1613,8 +1647,8 @@
 //   "special"
 //   "subLocality1"
 //   "subLocality2"
-func (c *RepresentativesRepresentativeInfoByDivisionCall) Levels(levels []string) *RepresentativesRepresentativeInfoByDivisionCall {
-	c.urlParams_.SetMulti("levels", append([]string{}, levels...))
+func (c *RepresentativesRepresentativeInfoByDivisionCall) Levels(levels string) *RepresentativesRepresentativeInfoByDivisionCall {
+	c.opt_["levels"] = levels
 	return c
 }
 
@@ -1624,7 +1658,7 @@
 // ocd-division/country:us/district:dc, this would also return all DC's
 // wards and ANCs.
 func (c *RepresentativesRepresentativeInfoByDivisionCall) Recursive(recursive bool) *RepresentativesRepresentativeInfoByDivisionCall {
-	c.urlParams_.Set("recursive", fmt.Sprintf("%v", recursive))
+	c.opt_["recursive"] = recursive
 	return c
 }
 
@@ -1645,16 +1679,16 @@
 //   "legislatorUpperBody"
 //   "schoolBoard"
 //   "specialPurposeOfficer"
-func (c *RepresentativesRepresentativeInfoByDivisionCall) Roles(roles []string) *RepresentativesRepresentativeInfoByDivisionCall {
-	c.urlParams_.SetMulti("roles", append([]string{}, roles...))
+func (c *RepresentativesRepresentativeInfoByDivisionCall) Roles(roles string) *RepresentativesRepresentativeInfoByDivisionCall {
+	c.opt_["roles"] = roles
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepresentativesRepresentativeInfoByDivisionCall) Fields(s ...googleapi.Field) *RepresentativesRepresentativeInfoByDivisionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1664,13 +1698,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RepresentativesRepresentativeInfoByDivisionCall) IfNoneMatch(entityTag string) *RepresentativesRepresentativeInfoByDivisionCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepresentativesRepresentativeInfoByDivisionCall) Context(ctx context.Context) *RepresentativesRepresentativeInfoByDivisionCall {
 	c.ctx_ = ctx
 	return c
@@ -1678,16 +1712,29 @@
 
 func (c *RepresentativesRepresentativeInfoByDivisionCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["levels"]; ok {
+		params.Set("levels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["recursive"]; ok {
+		params.Set("recursive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["roles"]; ok {
+		params.Set("roles", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "representatives/{ocdId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"ocdId": c.ocdId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/classroom/v1/classroom-gen.go b/classroom/v1/classroom-gen.go
index 80efda6..712fec9 100644
--- a/classroom/v1/classroom-gen.go
+++ b/classroom/v1/classroom-gen.go
@@ -641,10 +641,10 @@
 // method id "classroom.courses.create":
 
 type CoursesCreateCall struct {
-	s          *Service
-	course     *Course
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	course *Course
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Create: Creates a course. The user specified in `ownerId` is the
@@ -656,22 +656,22 @@
 // course owner's account is disabled. * `ALREADY_EXISTS` if an alias
 // was specified in the `id` and already exists.
 func (r *CoursesService) Create(course *Course) *CoursesCreateCall {
-	c := &CoursesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.course = course
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesCreateCall) Fields(s ...googleapi.Field) *CoursesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesCreateCall) Context(ctx context.Context) *CoursesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -684,9 +684,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -753,10 +757,10 @@
 // method id "classroom.courses.delete":
 
 type CoursesDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a course. This method returns the following error
@@ -765,22 +769,22 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if no course exists
 // with the requested ID.
 func (r *CoursesService) Delete(id string) *CoursesDeleteCall {
-	c := &CoursesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesDeleteCall) Fields(s ...googleapi.Field) *CoursesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesDeleteCall) Context(ctx context.Context) *CoursesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -788,9 +792,13 @@
 
 func (c *CoursesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -866,11 +874,10 @@
 // method id "classroom.courses.get":
 
 type CoursesGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Returns a course. This method returns the following error codes:
@@ -879,16 +886,16 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if no course exists
 // with the requested ID.
 func (r *CoursesService) Get(id string) *CoursesGetCall {
-	c := &CoursesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesGetCall) Fields(s ...googleapi.Field) *CoursesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -898,13 +905,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesGetCall) IfNoneMatch(entityTag string) *CoursesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesGetCall) Context(ctx context.Context) *CoursesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -912,16 +919,20 @@
 
 func (c *CoursesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -994,10 +1005,9 @@
 // method id "classroom.courses.list":
 
 type CoursesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of courses that the requesting user is permitted
@@ -1007,7 +1017,7 @@
 // if the query argument is malformed. * `NOT_FOUND` if any users
 // specified in the query arguments do not exist.
 func (r *CoursesService) List() *CoursesListCall {
-	c := &CoursesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1016,7 +1026,7 @@
 // assign a maximum. The server may return fewer than the specified
 // number of results.
 func (c *CoursesListCall) PageSize(pageSize int64) *CoursesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1028,7 +1038,7 @@
 // [list][google.classroom.v1.Courses.ListCourses] request must be
 // otherwise identical to the one that resulted in this token.
 func (c *CoursesListCall) PageToken(pageToken string) *CoursesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1038,7 +1048,7 @@
 // the user * the email address of the user * the string literal "me",
 // indicating the requesting user
 func (c *CoursesListCall) StudentId(studentId string) *CoursesListCall {
-	c.urlParams_.Set("studentId", studentId)
+	c.opt_["studentId"] = studentId
 	return c
 }
 
@@ -1048,15 +1058,15 @@
 // the user * the email address of the user * the string literal "me",
 // indicating the requesting user
 func (c *CoursesListCall) TeacherId(teacherId string) *CoursesListCall {
-	c.urlParams_.Set("teacherId", teacherId)
+	c.opt_["teacherId"] = teacherId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesListCall) Fields(s ...googleapi.Field) *CoursesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1066,13 +1076,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesListCall) IfNoneMatch(entityTag string) *CoursesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesListCall) Context(ctx context.Context) *CoursesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1080,14 +1090,30 @@
 
 func (c *CoursesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studentId"]; ok {
+		params.Set("studentId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["teacherId"]; ok {
+		params.Set("teacherId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1172,11 +1198,11 @@
 // method id "classroom.courses.patch":
 
 type CoursesPatchCall struct {
-	s          *Service
-	id         string
-	course     *Course
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	course *Course
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Updates one or more fields in a course. This method returns
@@ -1187,7 +1213,7 @@
 // fields are specified in the update mask or if no update mask is
 // supplied.
 func (r *CoursesService) Patch(id string, course *Course) *CoursesPatchCall {
-	c := &CoursesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.course = course
 	return c
@@ -1201,21 +1227,21 @@
 // set in a query parameter, this field should be specified as
 // `updateMask=,,...`
 func (c *CoursesPatchCall) UpdateMask(updateMask string) *CoursesPatchCall {
-	c.urlParams_.Set("updateMask", updateMask)
+	c.opt_["updateMask"] = updateMask
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesPatchCall) Fields(s ...googleapi.Field) *CoursesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesPatchCall) Context(ctx context.Context) *CoursesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1228,9 +1254,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["updateMask"]; ok {
+		params.Set("updateMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1315,11 +1348,11 @@
 // method id "classroom.courses.update":
 
 type CoursesUpdateCall struct {
-	s          *Service
-	id         string
-	course     *Course
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	course *Course
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Updates a course. This method returns the following error
@@ -1328,23 +1361,23 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if no course exists
 // with the requested ID.
 func (r *CoursesService) Update(id string, course *Course) *CoursesUpdateCall {
-	c := &CoursesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.course = course
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesUpdateCall) Fields(s ...googleapi.Field) *CoursesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesUpdateCall) Context(ctx context.Context) *CoursesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1357,9 +1390,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1442,7 +1479,7 @@
 	s           *Service
 	courseId    string
 	coursealias *CourseAlias
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -1452,23 +1489,23 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if the course does not
 // exist. * `ALREADY_EXISTS` if the alias already exists.
 func (r *CoursesAliasesService) Create(courseId string, coursealias *CourseAlias) *CoursesAliasesCreateCall {
-	c := &CoursesAliasesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesAliasesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.coursealias = coursealias
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesAliasesCreateCall) Fields(s ...googleapi.Field) *CoursesAliasesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesAliasesCreateCall) Context(ctx context.Context) *CoursesAliasesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1481,9 +1518,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/aliases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
@@ -1563,11 +1604,11 @@
 // method id "classroom.courses.aliases.delete":
 
 type CoursesAliasesDeleteCall struct {
-	s          *Service
-	courseId   string
-	aliasid    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	courseId string
+	aliasid  string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes an alias of a course. This method returns the
@@ -1576,23 +1617,23 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if the alias does not
 // exist.
 func (r *CoursesAliasesService) Delete(courseId string, aliasid string) *CoursesAliasesDeleteCall {
-	c := &CoursesAliasesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesAliasesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.aliasid = aliasid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesAliasesDeleteCall) Fields(s ...googleapi.Field) *CoursesAliasesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesAliasesDeleteCall) Context(ctx context.Context) *CoursesAliasesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1600,9 +1641,13 @@
 
 func (c *CoursesAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/aliases/{alias}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
@@ -1686,11 +1731,10 @@
 // method id "classroom.courses.aliases.list":
 
 type CoursesAliasesListCall struct {
-	s            *Service
-	courseId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	courseId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Returns a list of aliases for a course. This method returns the
@@ -1699,7 +1743,7 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if the course does not
 // exist.
 func (r *CoursesAliasesService) List(courseId string) *CoursesAliasesListCall {
-	c := &CoursesAliasesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesAliasesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	return c
 }
@@ -1709,7 +1753,7 @@
 // assign a maximum. The server may return fewer than the specified
 // number of results.
 func (c *CoursesAliasesListCall) PageSize(pageSize int64) *CoursesAliasesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1721,15 +1765,15 @@
 // The [list][google.classroom.v1.Courses.ListCourseAliases] request
 // must be otherwise identical to the one that resulted in this token.
 func (c *CoursesAliasesListCall) PageToken(pageToken string) *CoursesAliasesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesAliasesListCall) Fields(s ...googleapi.Field) *CoursesAliasesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1739,13 +1783,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesAliasesListCall) IfNoneMatch(entityTag string) *CoursesAliasesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesAliasesListCall) Context(ctx context.Context) *CoursesAliasesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1753,16 +1797,26 @@
 
 func (c *CoursesAliasesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/aliases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1846,11 +1900,11 @@
 // method id "classroom.courses.students.create":
 
 type CoursesStudentsCreateCall struct {
-	s          *Service
-	courseId   string
-	student    *Student
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	courseId string
+	student  *Student
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Create: Adds a user as a student of a course. This method returns the
@@ -1861,7 +1915,7 @@
 // requested user's account is disabled. * `ALREADY_EXISTS` if the user
 // is already a student or teacher in the course.
 func (r *CoursesStudentsService) Create(courseId string, student *Student) *CoursesStudentsCreateCall {
-	c := &CoursesStudentsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesStudentsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.student = student
 	return c
@@ -1873,21 +1927,21 @@
 // to the requesting user; it may be omitted if the requesting user has
 // administrative permissions to create students for any user.
 func (c *CoursesStudentsCreateCall) EnrollmentCode(enrollmentCode string) *CoursesStudentsCreateCall {
-	c.urlParams_.Set("enrollmentCode", enrollmentCode)
+	c.opt_["enrollmentCode"] = enrollmentCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesStudentsCreateCall) Fields(s ...googleapi.Field) *CoursesStudentsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesStudentsCreateCall) Context(ctx context.Context) *CoursesStudentsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1900,9 +1954,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["enrollmentCode"]; ok {
+		params.Set("enrollmentCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/students")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
@@ -1989,11 +2050,11 @@
 // method id "classroom.courses.students.delete":
 
 type CoursesStudentsDeleteCall struct {
-	s          *Service
-	courseId   string
-	userId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	courseId string
+	userId   string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a student of a course. This method returns the
@@ -2003,23 +2064,23 @@
 // student of this course has the requested ID or if the course does not
 // exist.
 func (r *CoursesStudentsService) Delete(courseId string, userId string) *CoursesStudentsDeleteCall {
-	c := &CoursesStudentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesStudentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesStudentsDeleteCall) Fields(s ...googleapi.Field) *CoursesStudentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesStudentsDeleteCall) Context(ctx context.Context) *CoursesStudentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2027,9 +2088,13 @@
 
 func (c *CoursesStudentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/students/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
@@ -2113,12 +2178,11 @@
 // method id "classroom.courses.students.get":
 
 type CoursesStudentsGetCall struct {
-	s            *Service
-	courseId     string
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	courseId string
+	userId   string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns a student of a course. This method returns the following
@@ -2128,17 +2192,17 @@
 // student of this course has the requested ID or if the course does not
 // exist.
 func (r *CoursesStudentsService) Get(courseId string, userId string) *CoursesStudentsGetCall {
-	c := &CoursesStudentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesStudentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesStudentsGetCall) Fields(s ...googleapi.Field) *CoursesStudentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2148,13 +2212,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesStudentsGetCall) IfNoneMatch(entityTag string) *CoursesStudentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesStudentsGetCall) Context(ctx context.Context) *CoursesStudentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2162,17 +2226,21 @@
 
 func (c *CoursesStudentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/students/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
 		"userId":   c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2254,11 +2322,10 @@
 // method id "classroom.courses.students.list":
 
 type CoursesStudentsListCall struct {
-	s            *Service
-	courseId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	courseId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Returns a list of students of this course that the requester is
@@ -2266,7 +2333,7 @@
 // `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for
 // [general user permission errors][User Permission Errors].
 func (r *CoursesStudentsService) List(courseId string) *CoursesStudentsListCall {
-	c := &CoursesStudentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesStudentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	return c
 }
@@ -2275,7 +2342,7 @@
 // items to return. Zero means no maximum. The server may return fewer
 // than the specified number of results.
 func (c *CoursesStudentsListCall) PageSize(pageSize int64) *CoursesStudentsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -2287,15 +2354,15 @@
 // [list][google.classroom.v1.Users.ListStudents] request must be
 // otherwise identical to the one that resulted in this token.
 func (c *CoursesStudentsListCall) PageToken(pageToken string) *CoursesStudentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesStudentsListCall) Fields(s ...googleapi.Field) *CoursesStudentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2305,13 +2372,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesStudentsListCall) IfNoneMatch(entityTag string) *CoursesStudentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesStudentsListCall) Context(ctx context.Context) *CoursesStudentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2319,16 +2386,26 @@
 
 func (c *CoursesStudentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/students")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2414,11 +2491,11 @@
 // method id "classroom.courses.teachers.create":
 
 type CoursesTeachersCreateCall struct {
-	s          *Service
-	courseId   string
-	teacher    *Teacher
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	courseId string
+	teacher  *Teacher
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Create: Creates a teacher of a course. This method returns the
@@ -2429,23 +2506,23 @@
 // requested user's account is disabled. * `ALREADY_EXISTS` if the user
 // is already a teacher or student in the course.
 func (r *CoursesTeachersService) Create(courseId string, teacher *Teacher) *CoursesTeachersCreateCall {
-	c := &CoursesTeachersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesTeachersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.teacher = teacher
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesTeachersCreateCall) Fields(s ...googleapi.Field) *CoursesTeachersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesTeachersCreateCall) Context(ctx context.Context) *CoursesTeachersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2458,9 +2535,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/teachers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
@@ -2542,11 +2623,11 @@
 // method id "classroom.courses.teachers.delete":
 
 type CoursesTeachersDeleteCall struct {
-	s          *Service
-	courseId   string
-	userId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	courseId string
+	userId   string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a teacher of a course. This method returns the
@@ -2557,23 +2638,23 @@
 // exist. * `FAILED_PRECONDITION` if the requested ID belongs to the
 // primary teacher of this course.
 func (r *CoursesTeachersService) Delete(courseId string, userId string) *CoursesTeachersDeleteCall {
-	c := &CoursesTeachersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesTeachersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesTeachersDeleteCall) Fields(s ...googleapi.Field) *CoursesTeachersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesTeachersDeleteCall) Context(ctx context.Context) *CoursesTeachersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2581,9 +2662,13 @@
 
 func (c *CoursesTeachersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/teachers/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
@@ -2667,12 +2752,11 @@
 // method id "classroom.courses.teachers.get":
 
 type CoursesTeachersGetCall struct {
-	s            *Service
-	courseId     string
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	courseId string
+	userId   string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns a teacher of a course. This method returns the following
@@ -2682,17 +2766,17 @@
 // teacher of this course has the requested ID or if the course does not
 // exist.
 func (r *CoursesTeachersService) Get(courseId string, userId string) *CoursesTeachersGetCall {
-	c := &CoursesTeachersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesTeachersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesTeachersGetCall) Fields(s ...googleapi.Field) *CoursesTeachersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2702,13 +2786,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesTeachersGetCall) IfNoneMatch(entityTag string) *CoursesTeachersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesTeachersGetCall) Context(ctx context.Context) *CoursesTeachersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2716,17 +2800,21 @@
 
 func (c *CoursesTeachersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/teachers/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
 		"userId":   c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2808,11 +2896,10 @@
 // method id "classroom.courses.teachers.list":
 
 type CoursesTeachersListCall struct {
-	s            *Service
-	courseId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	courseId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Returns a list of teachers of this course that the requester is
@@ -2820,7 +2907,7 @@
 // `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for
 // [general user permission errors][User Permission Errors].
 func (r *CoursesTeachersService) List(courseId string) *CoursesTeachersListCall {
-	c := &CoursesTeachersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CoursesTeachersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.courseId = courseId
 	return c
 }
@@ -2829,7 +2916,7 @@
 // items to return. Zero means no maximum. The server may return fewer
 // than the specified number of results.
 func (c *CoursesTeachersListCall) PageSize(pageSize int64) *CoursesTeachersListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -2841,15 +2928,15 @@
 // [list][google.classroom.v1.Users.ListTeachers] request must be
 // otherwise identical to the one that resulted in this token.
 func (c *CoursesTeachersListCall) PageToken(pageToken string) *CoursesTeachersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CoursesTeachersListCall) Fields(s ...googleapi.Field) *CoursesTeachersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2859,13 +2946,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CoursesTeachersListCall) IfNoneMatch(entityTag string) *CoursesTeachersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CoursesTeachersListCall) Context(ctx context.Context) *CoursesTeachersListCall {
 	c.ctx_ = ctx
 	return c
@@ -2873,16 +2960,26 @@
 
 func (c *CoursesTeachersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/teachers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"courseId": c.courseId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2968,10 +3065,10 @@
 // method id "classroom.invitations.accept":
 
 type InvitationsAcceptCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Accept: Accepts an invitation, removing it and adding the invited
@@ -2982,22 +3079,22 @@
 // or for [general user permission errors][User Permission Errors]. *
 // `NOT_FOUND` if no invitation exists with the requested ID.
 func (r *InvitationsService) Accept(id string) *InvitationsAcceptCall {
-	c := &InvitationsAcceptCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InvitationsAcceptCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InvitationsAcceptCall) Fields(s ...googleapi.Field) *InvitationsAcceptCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InvitationsAcceptCall) Context(ctx context.Context) *InvitationsAcceptCall {
 	c.ctx_ = ctx
 	return c
@@ -3005,9 +3102,13 @@
 
 func (c *InvitationsAcceptCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/invitations/{id}:accept")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -3085,7 +3186,7 @@
 type InvitationsCreateCall struct {
 	s          *Service
 	invitation *Invitation
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -3100,22 +3201,22 @@
 // with greater permissions. * `ALREADY_EXISTS` if an invitation for the
 // specified user and course already exists.
 func (r *InvitationsService) Create(invitation *Invitation) *InvitationsCreateCall {
-	c := &InvitationsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InvitationsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.invitation = invitation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InvitationsCreateCall) Fields(s ...googleapi.Field) *InvitationsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InvitationsCreateCall) Context(ctx context.Context) *InvitationsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3128,9 +3229,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/invitations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3197,10 +3302,10 @@
 // method id "classroom.invitations.delete":
 
 type InvitationsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes an invitation. This method returns the following
@@ -3209,22 +3314,22 @@
 // permission errors][User Permission Errors]. * `NOT_FOUND` if no
 // invitation exists with the requested ID.
 func (r *InvitationsService) Delete(id string) *InvitationsDeleteCall {
-	c := &InvitationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InvitationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InvitationsDeleteCall) Fields(s ...googleapi.Field) *InvitationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InvitationsDeleteCall) Context(ctx context.Context) *InvitationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3232,9 +3337,13 @@
 
 func (c *InvitationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/invitations/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -3310,11 +3419,10 @@
 // method id "classroom.invitations.get":
 
 type InvitationsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Returns an invitation. This method returns the following error
@@ -3323,16 +3431,16 @@
 // errors][User Permission Errors]. * `NOT_FOUND` if no invitation
 // exists with the requested ID.
 func (r *InvitationsService) Get(id string) *InvitationsGetCall {
-	c := &InvitationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InvitationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InvitationsGetCall) Fields(s ...googleapi.Field) *InvitationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3342,13 +3450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InvitationsGetCall) IfNoneMatch(entityTag string) *InvitationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InvitationsGetCall) Context(ctx context.Context) *InvitationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3356,16 +3464,20 @@
 
 func (c *InvitationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/invitations/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3438,10 +3550,9 @@
 // method id "classroom.invitations.list":
 
 type InvitationsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of invitations that the requesting user is
@@ -3451,14 +3562,14 @@
 // codes: * `PERMISSION_DENIED` for [general user permission
 // errors][User Permission Errors].
 func (r *InvitationsService) List() *InvitationsListCall {
-	c := &InvitationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InvitationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // CourseId sets the optional parameter "courseId": Restricts returned
 // invitations to those for a course with the specified identifier.
 func (c *InvitationsListCall) CourseId(courseId string) *InvitationsListCall {
-	c.urlParams_.Set("courseId", courseId)
+	c.opt_["courseId"] = courseId
 	return c
 }
 
@@ -3466,7 +3577,7 @@
 // items to return. Zero means no maximum. The server may return fewer
 // than the specified number of results.
 func (c *InvitationsListCall) PageSize(pageSize int64) *InvitationsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -3478,7 +3589,7 @@
 // The [list][google.classroom.v1.Invitations.ListInvitations] request
 // must be otherwise identical to the one that resulted in this token.
 func (c *InvitationsListCall) PageToken(pageToken string) *InvitationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3488,15 +3599,15 @@
 // address of the user * the string literal "me", indicating the
 // requesting user
 func (c *InvitationsListCall) UserId(userId string) *InvitationsListCall {
-	c.urlParams_.Set("userId", userId)
+	c.opt_["userId"] = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InvitationsListCall) Fields(s ...googleapi.Field) *InvitationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3506,13 +3617,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InvitationsListCall) IfNoneMatch(entityTag string) *InvitationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InvitationsListCall) Context(ctx context.Context) *InvitationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3520,14 +3631,30 @@
 
 func (c *InvitationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["courseId"]; ok {
+		params.Set("courseId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userId"]; ok {
+		params.Set("userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/invitations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3612,11 +3739,10 @@
 // method id "classroom.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns a user profile. This method returns the following error
@@ -3625,16 +3751,16 @@
 // requested ID or for [general user permission errors][User Permission
 // Errors].
 func (r *UserProfilesService) Get(userId string) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3644,13 +3770,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3658,16 +3784,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/userProfiles/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/cloudbilling/v1/cloudbilling-gen.go b/cloudbilling/v1/cloudbilling-gen.go
index ad0e365..1312810 100644
--- a/cloudbilling/v1/cloudbilling-gen.go
+++ b/cloudbilling/v1/cloudbilling-gen.go
@@ -260,27 +260,26 @@
 // method id "cloudbilling.billingAccounts.get":
 
 type BillingAccountsGetCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets information about a billing account. The current
 // authenticated user must be an [owner of the billing
 // account](https://support.google.com/cloud/answer/4430947).
 func (r *BillingAccountsService) Get(name string) *BillingAccountsGetCall {
-	c := &BillingAccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingAccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingAccountsGetCall) Fields(s ...googleapi.Field) *BillingAccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -290,13 +289,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingAccountsGetCall) IfNoneMatch(entityTag string) *BillingAccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingAccountsGetCall) Context(ctx context.Context) *BillingAccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -304,16 +303,20 @@
 
 func (c *BillingAccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -386,23 +389,22 @@
 // method id "cloudbilling.billingAccounts.list":
 
 type BillingAccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the billing accounts that the current authenticated user
 // [owns](https://support.google.com/cloud/answer/4430947).
 func (r *BillingAccountsService) List() *BillingAccountsListCall {
-	c := &BillingAccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingAccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Requested page size.
 // The maximum page size is 100; this is also the default.
 func (c *BillingAccountsListCall) PageSize(pageSize int64) *BillingAccountsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -412,15 +414,15 @@
 // `ListBillingAccounts` call. If unspecified, the first page of results
 // is returned.
 func (c *BillingAccountsListCall) PageToken(pageToken string) *BillingAccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingAccountsListCall) Fields(s ...googleapi.Field) *BillingAccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -430,13 +432,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingAccountsListCall) IfNoneMatch(entityTag string) *BillingAccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingAccountsListCall) Context(ctx context.Context) *BillingAccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -444,14 +446,24 @@
 
 func (c *BillingAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/billingAccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -525,18 +537,17 @@
 // method id "cloudbilling.billingAccounts.projects.list":
 
 type BillingAccountsProjectsListCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the projects associated with a billing account. The
 // current authenticated user must be an [owner of the billing
 // account](https://support.google.com/cloud/answer/4430947).
 func (r *BillingAccountsProjectsService) List(name string) *BillingAccountsProjectsListCall {
-	c := &BillingAccountsProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BillingAccountsProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
@@ -544,7 +555,7 @@
 // PageSize sets the optional parameter "pageSize": Requested page size.
 // The maximum page size is 100; this is also the default.
 func (c *BillingAccountsProjectsListCall) PageSize(pageSize int64) *BillingAccountsProjectsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -554,15 +565,15 @@
 // `ListProjectBillingInfo` call. If unspecified, the first page of
 // results is returned.
 func (c *BillingAccountsProjectsListCall) PageToken(pageToken string) *BillingAccountsProjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BillingAccountsProjectsListCall) Fields(s ...googleapi.Field) *BillingAccountsProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -572,13 +583,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BillingAccountsProjectsListCall) IfNoneMatch(entityTag string) *BillingAccountsProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BillingAccountsProjectsListCall) Context(ctx context.Context) *BillingAccountsProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -586,16 +597,26 @@
 
 func (c *BillingAccountsProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -679,11 +700,10 @@
 // method id "cloudbilling.projects.getBillingInfo":
 
 type ProjectsGetBillingInfoCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetBillingInfo: Gets the billing information for a project. The
@@ -691,16 +711,16 @@
 // project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxof
 // vnoo ).
 func (r *ProjectsService) GetBillingInfo(name string) *ProjectsGetBillingInfoCall {
-	c := &ProjectsGetBillingInfoCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetBillingInfoCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetBillingInfoCall) Fields(s ...googleapi.Field) *ProjectsGetBillingInfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -710,13 +730,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetBillingInfoCall) IfNoneMatch(entityTag string) *ProjectsGetBillingInfoCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetBillingInfoCall) Context(ctx context.Context) *ProjectsGetBillingInfoCall {
 	c.ctx_ = ctx
 	return c
@@ -724,16 +744,20 @@
 
 func (c *ProjectsGetBillingInfoCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/billingInfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -809,7 +833,7 @@
 	s                  *Service
 	name               string
 	projectbillinginfo *ProjectBillingInfo
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -842,23 +866,23 @@
 // wish to disable billing, you should always call this method with the
 // name of an *open* billing account.
 func (r *ProjectsService) UpdateBillingInfo(name string, projectbillinginfo *ProjectBillingInfo) *ProjectsUpdateBillingInfoCall {
-	c := &ProjectsUpdateBillingInfoCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsUpdateBillingInfoCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.projectbillinginfo = projectbillinginfo
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsUpdateBillingInfoCall) Fields(s ...googleapi.Field) *ProjectsUpdateBillingInfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsUpdateBillingInfoCall) Context(ctx context.Context) *ProjectsUpdateBillingInfoCall {
 	c.ctx_ = ctx
 	return c
@@ -871,9 +895,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/billingInfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
diff --git a/clouddebugger/v2/clouddebugger-gen.go b/clouddebugger/v2/clouddebugger-gen.go
index fad5156..66cad29 100644
--- a/clouddebugger/v2/clouddebugger-gen.go
+++ b/clouddebugger/v2/clouddebugger-gen.go
@@ -966,7 +966,7 @@
 type ControllerDebuggeesRegisterCall struct {
 	s                       *Service
 	registerdebuggeerequest *RegisterDebuggeeRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -978,22 +978,22 @@
 // or recover from any registration loss. If the debuggee is disabled
 // server, the response will have is_disabled' set to true.
 func (r *ControllerDebuggeesService) Register(registerdebuggeerequest *RegisterDebuggeeRequest) *ControllerDebuggeesRegisterCall {
-	c := &ControllerDebuggeesRegisterCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ControllerDebuggeesRegisterCall{s: r.s, opt_: make(map[string]interface{})}
 	c.registerdebuggeerequest = registerdebuggeerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ControllerDebuggeesRegisterCall) Fields(s ...googleapi.Field) *ControllerDebuggeesRegisterCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ControllerDebuggeesRegisterCall) Context(ctx context.Context) *ControllerDebuggeesRegisterCall {
 	c.ctx_ = ctx
 	return c
@@ -1006,9 +1006,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/controller/debuggees/register")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1076,11 +1080,10 @@
 // method id "clouddebugger.controller.debuggees.breakpoints.list":
 
 type ControllerDebuggeesBreakpointsListCall struct {
-	s            *Service
-	debuggeeId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	debuggeeId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Returns the list of all active breakpoints for the specified
@@ -1094,7 +1097,7 @@
 // breakpoints that are complete until the controller removes them from
 // the active list to avoid setting those breakpoints again.
 func (r *ControllerDebuggeesBreakpointsService) List(debuggeeId string) *ControllerDebuggeesBreakpointsListCall {
-	c := &ControllerDebuggeesBreakpointsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ControllerDebuggeesBreakpointsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.debuggeeId = debuggeeId
 	return c
 }
@@ -1106,15 +1109,15 @@
 // code google.rpc.Code.ABORTED is returned on wait timeout (which does
 // not require the agent to re-register with the server)
 func (c *ControllerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *ControllerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("waitToken", waitToken)
+	c.opt_["waitToken"] = waitToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ControllerDebuggeesBreakpointsListCall) Fields(s ...googleapi.Field) *ControllerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1124,13 +1127,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ControllerDebuggeesBreakpointsListCall) IfNoneMatch(entityTag string) *ControllerDebuggeesBreakpointsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ControllerDebuggeesBreakpointsListCall) Context(ctx context.Context) *ControllerDebuggeesBreakpointsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1138,16 +1141,23 @@
 
 func (c *ControllerDebuggeesBreakpointsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["waitToken"]; ok {
+		params.Set("waitToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/controller/debuggees/{debuggeeId}/breakpoints")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"debuggeeId": c.debuggeeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1229,7 +1239,7 @@
 	debuggeeId                    string
 	id                            string
 	updateactivebreakpointrequest *UpdateActiveBreakpointRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -1241,24 +1251,24 @@
 // semantics. They are restricted to changes such as canonicalizing a
 // value or snapping the location to the correct line of code.
 func (r *ControllerDebuggeesBreakpointsService) Update(debuggeeId string, id string, updateactivebreakpointrequest *UpdateActiveBreakpointRequest) *ControllerDebuggeesBreakpointsUpdateCall {
-	c := &ControllerDebuggeesBreakpointsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ControllerDebuggeesBreakpointsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.debuggeeId = debuggeeId
 	c.id = id
 	c.updateactivebreakpointrequest = updateactivebreakpointrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ControllerDebuggeesBreakpointsUpdateCall) Fields(s ...googleapi.Field) *ControllerDebuggeesBreakpointsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ControllerDebuggeesBreakpointsUpdateCall) Context(ctx context.Context) *ControllerDebuggeesBreakpointsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1271,9 +1281,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"debuggeeId": c.debuggeeId,
@@ -1362,15 +1376,14 @@
 // method id "clouddebugger.debugger.debuggees.list":
 
 type DebuggerDebuggeesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all the debuggees that the user can set breakpoints to.
 func (r *DebuggerDebuggeesService) List() *DebuggerDebuggeesListCall {
-	c := &DebuggerDebuggeesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DebuggerDebuggeesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1378,7 +1391,7 @@
 // set to true the result includes all debuggees, otherwise only
 // debugees that are active.
 func (c *DebuggerDebuggeesListCall) IncludeInactive(includeInactive bool) *DebuggerDebuggeesListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
@@ -1386,15 +1399,15 @@
 // number of the Google Cloud Platform to list the debuggees that are
 // part of that project.
 func (c *DebuggerDebuggeesListCall) Project(project string) *DebuggerDebuggeesListCall {
-	c.urlParams_.Set("project", project)
+	c.opt_["project"] = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DebuggerDebuggeesListCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1404,13 +1417,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DebuggerDebuggeesListCall) IfNoneMatch(entityTag string) *DebuggerDebuggeesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DebuggerDebuggeesListCall) Context(ctx context.Context) *DebuggerDebuggeesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1418,14 +1431,24 @@
 
 func (c *DebuggerDebuggeesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["project"]; ok {
+		params.Set("project", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1502,29 +1525,29 @@
 	s            *Service
 	debuggeeId   string
 	breakpointId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes the breakpoint from the debuggee.
 func (r *DebuggerDebuggeesBreakpointsService) Delete(debuggeeId string, breakpointId string) *DebuggerDebuggeesBreakpointsDeleteCall {
-	c := &DebuggerDebuggeesBreakpointsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DebuggerDebuggeesBreakpointsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.debuggeeId = debuggeeId
 	c.breakpointId = breakpointId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DebuggerDebuggeesBreakpointsDeleteCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DebuggerDebuggeesBreakpointsDeleteCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1532,9 +1555,13 @@
 
 func (c *DebuggerDebuggeesBreakpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"debuggeeId":   c.debuggeeId,
@@ -1622,24 +1649,23 @@
 	s            *Service
 	debuggeeId   string
 	breakpointId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets breakpoint information.
 func (r *DebuggerDebuggeesBreakpointsService) Get(debuggeeId string, breakpointId string) *DebuggerDebuggeesBreakpointsGetCall {
-	c := &DebuggerDebuggeesBreakpointsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DebuggerDebuggeesBreakpointsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.debuggeeId = debuggeeId
 	c.breakpointId = breakpointId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DebuggerDebuggeesBreakpointsGetCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1649,13 +1675,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DebuggerDebuggeesBreakpointsGetCall) IfNoneMatch(entityTag string) *DebuggerDebuggeesBreakpointsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DebuggerDebuggeesBreakpointsGetCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1663,17 +1689,21 @@
 
 func (c *DebuggerDebuggeesBreakpointsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"debuggeeId":   c.debuggeeId,
 		"breakpointId": c.breakpointId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1753,17 +1783,16 @@
 // method id "clouddebugger.debugger.debuggees.breakpoints.list":
 
 type DebuggerDebuggeesBreakpointsListCall struct {
-	s            *Service
-	debuggeeId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	debuggeeId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists all breakpoints of the debuggee that the user has access
 // to.
 func (r *DebuggerDebuggeesBreakpointsService) List(debuggeeId string) *DebuggerDebuggeesBreakpointsListCall {
-	c := &DebuggerDebuggeesBreakpointsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DebuggerDebuggeesBreakpointsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.debuggeeId = debuggeeId
 	return c
 }
@@ -1775,7 +1804,7 @@
 //   "CAPTURE"
 //   "LOG"
 func (c *DebuggerDebuggeesBreakpointsListCall) ActionValue(actionValue string) *DebuggerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("actionValue", actionValue)
+	c.opt_["action.value"] = actionValue
 	return c
 }
 
@@ -1783,7 +1812,7 @@
 // set to true the response includes the list of breakpoints set by any
 // user, otherwise only breakpoints set by the caller.
 func (c *DebuggerDebuggeesBreakpointsListCall) IncludeAllUsers(includeAllUsers bool) *DebuggerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("includeAllUsers", fmt.Sprintf("%v", includeAllUsers))
+	c.opt_["includeAllUsers"] = includeAllUsers
 	return c
 }
 
@@ -1791,7 +1820,7 @@
 // set to true the response includes active and inactive breakpoints,
 // otherwise only active breakpoints are returned.
 func (c *DebuggerDebuggeesBreakpointsListCall) IncludeInactive(includeInactive bool) *DebuggerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("includeInactive", fmt.Sprintf("%v", includeInactive))
+	c.opt_["includeInactive"] = includeInactive
 	return c
 }
 
@@ -1799,7 +1828,7 @@
 // true the response breakpoints will be stripped of the results fields:
 // stack_frames, evaluated_expressions and variable_table.
 func (c *DebuggerDebuggeesBreakpointsListCall) StripResults(stripResults bool) *DebuggerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("stripResults", fmt.Sprintf("%v", stripResults))
+	c.opt_["stripResults"] = stripResults
 	return c
 }
 
@@ -1810,15 +1839,15 @@
 // returned on wait timeout, which should be called again with the same
 // wait_token.
 func (c *DebuggerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *DebuggerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("waitToken", waitToken)
+	c.opt_["waitToken"] = waitToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DebuggerDebuggeesBreakpointsListCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1828,13 +1857,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DebuggerDebuggeesBreakpointsListCall) IfNoneMatch(entityTag string) *DebuggerDebuggeesBreakpointsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DebuggerDebuggeesBreakpointsListCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1842,16 +1871,35 @@
 
 func (c *DebuggerDebuggeesBreakpointsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["action.value"]; ok {
+		params.Set("action.value", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeAllUsers"]; ok {
+		params.Set("includeAllUsers", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeInactive"]; ok {
+		params.Set("includeInactive", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["stripResults"]; ok {
+		params.Set("stripResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["waitToken"]; ok {
+		params.Set("waitToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"debuggeeId": c.debuggeeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1956,29 +2004,29 @@
 	s          *Service
 	debuggeeId string
 	breakpoint *Breakpoint
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Set: Sets the breakpoint to the debuggee.
 func (r *DebuggerDebuggeesBreakpointsService) Set(debuggeeId string, breakpoint *Breakpoint) *DebuggerDebuggeesBreakpointsSetCall {
-	c := &DebuggerDebuggeesBreakpointsSetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DebuggerDebuggeesBreakpointsSetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.debuggeeId = debuggeeId
 	c.breakpoint = breakpoint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DebuggerDebuggeesBreakpointsSetCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsSetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DebuggerDebuggeesBreakpointsSetCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsSetCall {
 	c.ctx_ = ctx
 	return c
@@ -1991,9 +2039,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints/set")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"debuggeeId": c.debuggeeId,
diff --git a/cloudlatencytest/v2/cloudlatencytest-gen.go b/cloudlatencytest/v2/cloudlatencytest-gen.go
index 1b1dae4..10157fe 100644
--- a/cloudlatencytest/v2/cloudlatencytest-gen.go
+++ b/cloudlatencytest/v2/cloudlatencytest-gen.go
@@ -231,28 +231,28 @@
 type StatscollectionUpdateaggregatedstatsCall struct {
 	s               *Service
 	aggregatedstats *AggregatedStats
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Updateaggregatedstats: RPC to update the new TCP stats.
 func (r *StatscollectionService) Updateaggregatedstats(aggregatedstats *AggregatedStats) *StatscollectionUpdateaggregatedstatsCall {
-	c := &StatscollectionUpdateaggregatedstatsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatscollectionUpdateaggregatedstatsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.aggregatedstats = aggregatedstats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatscollectionUpdateaggregatedstatsCall) Fields(s ...googleapi.Field) *StatscollectionUpdateaggregatedstatsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatscollectionUpdateaggregatedstatsCall) Context(ctx context.Context) *StatscollectionUpdateaggregatedstatsCall {
 	c.ctx_ = ctx
 	return c
@@ -265,9 +265,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "updateaggregatedstats")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -334,30 +338,30 @@
 // method id "cloudlatencytest.statscollection.updatestats":
 
 type StatscollectionUpdatestatsCall struct {
-	s          *Service
-	stats      *Stats
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	stats *Stats
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Updatestats: RPC to update the new TCP stats.
 func (r *StatscollectionService) Updatestats(stats *Stats) *StatscollectionUpdatestatsCall {
-	c := &StatscollectionUpdatestatsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StatscollectionUpdatestatsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.stats = stats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StatscollectionUpdatestatsCall) Fields(s ...googleapi.Field) *StatscollectionUpdatestatsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StatscollectionUpdatestatsCall) Context(ctx context.Context) *StatscollectionUpdatestatsCall {
 	c.ctx_ = ctx
 	return c
@@ -370,9 +374,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "updatestats")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/cloudmonitoring/v2beta2/cloudmonitoring-gen.go b/cloudmonitoring/v2beta2/cloudmonitoring-gen.go
index 7f9aa92..55b495b 100644
--- a/cloudmonitoring/v2beta2/cloudmonitoring-gen.go
+++ b/cloudmonitoring/v2beta2/cloudmonitoring-gen.go
@@ -740,29 +740,29 @@
 	s                *Service
 	project          string
 	metricdescriptor *MetricDescriptor
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Create: Create a new metric.
 func (r *MetricDescriptorsService) Create(project string, metricdescriptor *MetricDescriptor) *MetricDescriptorsCreateCall {
-	c := &MetricDescriptorsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetricDescriptorsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.metricdescriptor = metricdescriptor
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetricDescriptorsCreateCall) Fields(s ...googleapi.Field) *MetricDescriptorsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetricDescriptorsCreateCall) Context(ctx context.Context) *MetricDescriptorsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -775,9 +775,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/metricDescriptors")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -858,32 +862,32 @@
 // method id "cloudmonitoring.metricDescriptors.delete":
 
 type MetricDescriptorsDeleteCall struct {
-	s          *Service
-	project    string
-	metric     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	metric  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Delete an existing metric.
 func (r *MetricDescriptorsService) Delete(project string, metric string) *MetricDescriptorsDeleteCall {
-	c := &MetricDescriptorsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetricDescriptorsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.metric = metric
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetricDescriptorsDeleteCall) Fields(s ...googleapi.Field) *MetricDescriptorsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetricDescriptorsDeleteCall) Context(ctx context.Context) *MetricDescriptorsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -891,9 +895,13 @@
 
 func (c *MetricDescriptorsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/metricDescriptors/{metric}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -981,8 +989,7 @@
 	s                            *Service
 	project                      string
 	listmetricdescriptorsrequest *ListMetricDescriptorsRequest
-	urlParams_                   internal.URLParams
-	ifNoneMatch_                 string
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
@@ -992,7 +999,7 @@
 // response to request subsequent pages of results by setting the
 // pageToken query parameter to the value of the nextPageToken.
 func (r *MetricDescriptorsService) List(project string, listmetricdescriptorsrequest *ListMetricDescriptorsRequest) *MetricDescriptorsListCall {
-	c := &MetricDescriptorsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetricDescriptorsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.listmetricdescriptorsrequest = listmetricdescriptorsrequest
 	return c
@@ -1002,7 +1009,7 @@
 // descriptors per page. Used for pagination. If not specified, count =
 // 100.
 func (c *MetricDescriptorsListCall) Count(count int64) *MetricDescriptorsListCall {
-	c.urlParams_.Set("count", fmt.Sprintf("%v", count))
+	c.opt_["count"] = count
 	return c
 }
 
@@ -1011,7 +1018,7 @@
 // value to the value of the nextPageToken to retrieve the next page of
 // results.
 func (c *MetricDescriptorsListCall) PageToken(pageToken string) *MetricDescriptorsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1022,15 +1029,15 @@
 // returned. If an empty string is passed with this field, no metrics
 // are returned.
 func (c *MetricDescriptorsListCall) Query(query string) *MetricDescriptorsListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetricDescriptorsListCall) Fields(s ...googleapi.Field) *MetricDescriptorsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1040,13 +1047,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetricDescriptorsListCall) IfNoneMatch(entityTag string) *MetricDescriptorsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetricDescriptorsListCall) Context(ctx context.Context) *MetricDescriptorsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1054,16 +1061,29 @@
 
 func (c *MetricDescriptorsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["count"]; ok {
+		params.Set("count", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/metricDescriptors")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1161,9 +1181,9 @@
 	s                     *Service
 	project               string
 	metric                string
+	youngest              string
 	listtimeseriesrequest *ListTimeseriesRequest
-	urlParams_            internal.URLParams
-	ifNoneMatch_          string
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -1173,10 +1193,10 @@
 // response to request subsequent pages of results by setting the
 // pageToken query parameter to the value of the nextPageToken.
 func (r *TimeseriesService) List(project string, metric string, youngest string, listtimeseriesrequest *ListTimeseriesRequest) *TimeseriesListCall {
-	c := &TimeseriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimeseriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.metric = metric
-	c.urlParams_.Set("youngest", youngest)
+	c.youngest = youngest
 	c.listtimeseriesrequest = listtimeseriesrequest
 	return c
 }
@@ -1192,14 +1212,14 @@
 //   "min"
 //   "sum"
 func (c *TimeseriesListCall) Aggregator(aggregator string) *TimeseriesListCall {
-	c.urlParams_.Set("aggregator", aggregator)
+	c.opt_["aggregator"] = aggregator
 	return c
 }
 
 // Count sets the optional parameter "count": Maximum number of data
 // points per page, which is used for pagination of results.
 func (c *TimeseriesListCall) Count(count int64) *TimeseriesListCall {
-	c.urlParams_.Set("count", fmt.Sprintf("%v", count))
+	c.opt_["count"] = count
 	return c
 }
 
@@ -1213,8 +1233,8 @@
 // you could
 // specify:
 // label=cloud.googleapis.com%2Flocation=~us-central1.*
-func (c *TimeseriesListCall) Labels(labels []string) *TimeseriesListCall {
-	c.urlParams_.SetMulti("labels", append([]string{}, labels...))
+func (c *TimeseriesListCall) Labels(labels string) *TimeseriesListCall {
+	c.opt_["labels"] = labels
 	return c
 }
 
@@ -1223,7 +1243,7 @@
 // neither oldest nor timespan is specified, the default time interval
 // will be (youngest - 4 hours, youngest]
 func (c *TimeseriesListCall) Oldest(oldest string) *TimeseriesListCall {
-	c.urlParams_.Set("oldest", oldest)
+	c.opt_["oldest"] = oldest
 	return c
 }
 
@@ -1232,7 +1252,7 @@
 // value to the value of the nextPageToken to retrieve the next page of
 // results.
 func (c *TimeseriesListCall) PageToken(pageToken string) *TimeseriesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1250,7 +1270,7 @@
 // If neither oldest nor timespan is specified, the default time
 // interval will be (youngest - 4 hours, youngest].
 func (c *TimeseriesListCall) Timespan(timespan string) *TimeseriesListCall {
-	c.urlParams_.Set("timespan", timespan)
+	c.opt_["timespan"] = timespan
 	return c
 }
 
@@ -1264,15 +1284,15 @@
 // - w: week  Examples: 3m, 4w. Only one unit is allowed, for example:
 // 2w3d is not allowed; you should use 17d instead.
 func (c *TimeseriesListCall) Window(window string) *TimeseriesListCall {
-	c.urlParams_.Set("window", window)
+	c.opt_["window"] = window
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimeseriesListCall) Fields(s ...googleapi.Field) *TimeseriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1282,13 +1302,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TimeseriesListCall) IfNoneMatch(entityTag string) *TimeseriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimeseriesListCall) Context(ctx context.Context) *TimeseriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1296,17 +1316,43 @@
 
 func (c *TimeseriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("youngest", fmt.Sprintf("%v", c.youngest))
+	if v, ok := c.opt_["aggregator"]; ok {
+		params.Set("aggregator", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["count"]; ok {
+		params.Set("count", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["oldest"]; ok {
+		params.Set("oldest", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timespan"]; ok {
+		params.Set("timespan", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["window"]; ok {
+		params.Set("window", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/timeseries/{metric}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"metric":  c.metric,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1454,7 +1500,7 @@
 	s                      *Service
 	project                string
 	writetimeseriesrequest *WriteTimeseriesRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -1467,23 +1513,23 @@
 // a time series are written sequentially in the order of their end
 // time.
 func (r *TimeseriesService) Write(project string, writetimeseriesrequest *WriteTimeseriesRequest) *TimeseriesWriteCall {
-	c := &TimeseriesWriteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimeseriesWriteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.writetimeseriesrequest = writetimeseriesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimeseriesWriteCall) Fields(s ...googleapi.Field) *TimeseriesWriteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimeseriesWriteCall) Context(ctx context.Context) *TimeseriesWriteCall {
 	c.ctx_ = ctx
 	return c
@@ -1496,9 +1542,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/timeseries:write")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1582,9 +1632,9 @@
 	s                                *Service
 	project                          string
 	metric                           string
+	youngest                         string
 	listtimeseriesdescriptorsrequest *ListTimeseriesDescriptorsRequest
-	urlParams_                       internal.URLParams
-	ifNoneMatch_                     string
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
@@ -1594,10 +1644,10 @@
 // response to request subsequent pages of results by setting the
 // pageToken query parameter to the value of the nextPageToken.
 func (r *TimeseriesDescriptorsService) List(project string, metric string, youngest string, listtimeseriesdescriptorsrequest *ListTimeseriesDescriptorsRequest) *TimeseriesDescriptorsListCall {
-	c := &TimeseriesDescriptorsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimeseriesDescriptorsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.metric = metric
-	c.urlParams_.Set("youngest", youngest)
+	c.youngest = youngest
 	c.listtimeseriesdescriptorsrequest = listtimeseriesdescriptorsrequest
 	return c
 }
@@ -1613,7 +1663,7 @@
 //   "min"
 //   "sum"
 func (c *TimeseriesDescriptorsListCall) Aggregator(aggregator string) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("aggregator", aggregator)
+	c.opt_["aggregator"] = aggregator
 	return c
 }
 
@@ -1621,7 +1671,7 @@
 // series descriptors per page. Used for pagination. If not specified,
 // count = 100.
 func (c *TimeseriesDescriptorsListCall) Count(count int64) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("count", fmt.Sprintf("%v", count))
+	c.opt_["count"] = count
 	return c
 }
 
@@ -1635,8 +1685,8 @@
 // you could
 // specify:
 // label=cloud.googleapis.com%2Flocation=~us-central1.*
-func (c *TimeseriesDescriptorsListCall) Labels(labels []string) *TimeseriesDescriptorsListCall {
-	c.urlParams_.SetMulti("labels", append([]string{}, labels...))
+func (c *TimeseriesDescriptorsListCall) Labels(labels string) *TimeseriesDescriptorsListCall {
+	c.opt_["labels"] = labels
 	return c
 }
 
@@ -1645,7 +1695,7 @@
 // neither oldest nor timespan is specified, the default time interval
 // will be (youngest - 4 hours, youngest]
 func (c *TimeseriesDescriptorsListCall) Oldest(oldest string) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("oldest", oldest)
+	c.opt_["oldest"] = oldest
 	return c
 }
 
@@ -1654,7 +1704,7 @@
 // value to the value of the nextPageToken to retrieve the next page of
 // results.
 func (c *TimeseriesDescriptorsListCall) PageToken(pageToken string) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1672,7 +1722,7 @@
 // If neither oldest nor timespan is specified, the default time
 // interval will be (youngest - 4 hours, youngest].
 func (c *TimeseriesDescriptorsListCall) Timespan(timespan string) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("timespan", timespan)
+	c.opt_["timespan"] = timespan
 	return c
 }
 
@@ -1686,15 +1736,15 @@
 // - w: week  Examples: 3m, 4w. Only one unit is allowed, for example:
 // 2w3d is not allowed; you should use 17d instead.
 func (c *TimeseriesDescriptorsListCall) Window(window string) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("window", window)
+	c.opt_["window"] = window
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimeseriesDescriptorsListCall) Fields(s ...googleapi.Field) *TimeseriesDescriptorsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1704,13 +1754,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TimeseriesDescriptorsListCall) IfNoneMatch(entityTag string) *TimeseriesDescriptorsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimeseriesDescriptorsListCall) Context(ctx context.Context) *TimeseriesDescriptorsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1718,17 +1768,43 @@
 
 func (c *TimeseriesDescriptorsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("youngest", fmt.Sprintf("%v", c.youngest))
+	if v, ok := c.opt_["aggregator"]; ok {
+		params.Set("aggregator", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["count"]; ok {
+		params.Set("count", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["oldest"]; ok {
+		params.Set("oldest", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timespan"]; ok {
+		params.Set("timespan", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["window"]; ok {
+		params.Set("window", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/timeseriesDescriptors/{metric}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"metric":  c.metric,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go b/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go
index 9ca9c61..98db92a 100644
--- a/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go
+++ b/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go
@@ -498,23 +498,22 @@
 type OrganizationsGetCall struct {
 	s              *Service
 	organizationId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Fetches an Organization resource by id.
 func (r *OrganizationsService) Get(organizationId string) *OrganizationsGetCall {
-	c := &OrganizationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrganizationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.organizationId = organizationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrganizationsGetCall) Fields(s ...googleapi.Field) *OrganizationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -524,13 +523,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrganizationsGetCall) IfNoneMatch(entityTag string) *OrganizationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrganizationsGetCall) Context(ctx context.Context) *OrganizationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -538,16 +537,20 @@
 
 func (c *OrganizationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/organizations/{organizationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"organizationId": c.organizationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -622,30 +625,30 @@
 	s                   *Service
 	resource            string
 	getiampolicyrequest *GetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a Organization
 // resource. May be empty if no such policy or resource exists.
 func (r *OrganizationsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *OrganizationsGetIamPolicyCall {
-	c := &OrganizationsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrganizationsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.getiampolicyrequest = getiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrganizationsGetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrganizationsGetIamPolicyCall) Context(ctx context.Context) *OrganizationsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -658,9 +661,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/organizations/{resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -740,15 +747,14 @@
 // method id "cloudresourcemanager.organizations.list":
 
 type OrganizationsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Query Organization resources.
 func (r *OrganizationsService) List() *OrganizationsListCall {
-	c := &OrganizationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrganizationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -763,14 +769,14 @@
 // |domain:google.com|Organizations corresponding to the domain
 // `google.com`.| This field is optional.
 func (c *OrganizationsListCall) Filter(filter string) *OrganizationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of Organizations to return in the response. This field is optional.
 func (c *OrganizationsListCall) PageSize(pageSize int64) *OrganizationsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -778,15 +784,15 @@
 // returned from a previous call to ListOrganizations that indicates
 // from where listing should continue. This field is optional.
 func (c *OrganizationsListCall) PageToken(pageToken string) *OrganizationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrganizationsListCall) Fields(s ...googleapi.Field) *OrganizationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -796,13 +802,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrganizationsListCall) IfNoneMatch(entityTag string) *OrganizationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrganizationsListCall) Context(ctx context.Context) *OrganizationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -810,14 +816,27 @@
 
 func (c *OrganizationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/organizations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -899,30 +918,30 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on a Organization
 // resource. Replaces any existing policy.
 func (r *OrganizationsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *OrganizationsSetIamPolicyCall {
-	c := &OrganizationsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrganizationsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrganizationsSetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrganizationsSetIamPolicyCall) Context(ctx context.Context) *OrganizationsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -935,9 +954,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/organizations/{resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -1020,30 +1043,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified Organization.
 func (r *OrganizationsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *OrganizationsTestIamPermissionsCall {
-	c := &OrganizationsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrganizationsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrganizationsTestIamPermissionsCall) Fields(s ...googleapi.Field) *OrganizationsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrganizationsTestIamPermissionsCall) Context(ctx context.Context) *OrganizationsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -1056,9 +1079,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/organizations/{resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -1141,29 +1168,29 @@
 	s              *Service
 	organizationId string
 	organization   *Organization
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates an Organization resource.
 func (r *OrganizationsService) Update(organizationId string, organization *Organization) *OrganizationsUpdateCall {
-	c := &OrganizationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrganizationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.organizationId = organizationId
 	c.organization = organization
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrganizationsUpdateCall) Fields(s ...googleapi.Field) *OrganizationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrganizationsUpdateCall) Context(ctx context.Context) *OrganizationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1176,9 +1203,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/organizations/{organizationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"organizationId": c.organizationId,
@@ -1258,10 +1289,10 @@
 // method id "cloudresourcemanager.projects.create":
 
 type ProjectsCreateCall struct {
-	s          *Service
-	project    *Project
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project *Project
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a project resource. Initially, the project resource
@@ -1270,22 +1301,22 @@
 // activated automatically for the project, including Google Cloud
 // Storage.
 func (r *ProjectsService) Create(project *Project) *ProjectsCreateCall {
-	c := &ProjectsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsCreateCall) Fields(s ...googleapi.Field) *ProjectsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsCreateCall) Context(ctx context.Context) *ProjectsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1298,9 +1329,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1367,10 +1402,10 @@
 // method id "cloudresourcemanager.projects.delete":
 
 type ProjectsDeleteCall struct {
-	s          *Service
-	projectId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Marks the project identified by the specified `project_id`
@@ -1399,22 +1434,22 @@
 // ojects] methods. The caller must have modify permissions for this
 // project.
 func (r *ProjectsService) Delete(projectId string) *ProjectsDeleteCall {
-	c := &ProjectsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsDeleteCall) Context(ctx context.Context) *ProjectsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1422,9 +1457,13 @@
 
 func (c *ProjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -1500,27 +1539,26 @@
 // method id "cloudresourcemanager.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the project identified by the specified `project_id`
 // (for example, `my-project-123`). The caller must have read
 // permissions for this project.
 func (r *ProjectsService) Get(projectId string) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1530,13 +1568,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1544,16 +1582,20 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1628,30 +1670,30 @@
 	s                   *Service
 	resource            string
 	getiampolicyrequest *GetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // GetIamPolicy: Returns the IAM access control policy for specified
 // project.
 func (r *ProjectsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsGetIamPolicyCall {
-	c := &ProjectsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.getiampolicyrequest = getiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetIamPolicyCall) Context(ctx context.Context) *ProjectsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1664,9 +1706,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -1746,17 +1792,16 @@
 // method id "cloudresourcemanager.projects.list":
 
 type ProjectsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists projects that are visible to the user and satisfy the
 // specified filter. This method returns projects in an unspecified
 // order. New projects do not necessarily appear at the end of the list.
 func (r *ProjectsService) List() *ProjectsListCall {
-	c := &ProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1772,7 +1817,7 @@
 // value `red`.| |labels.color:red label.size:big|The project's label
 // `color` has the value `red` and its label `size` has the value `big`.
 func (c *ProjectsListCall) Filter(filter string) *ProjectsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -1782,7 +1827,7 @@
 // default. Note: pagination is not yet supported; the server ignores
 // this field.
 func (c *ProjectsListCall) PageSize(pageSize int64) *ProjectsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1791,15 +1836,15 @@
 // where listing should continue. Note: pagination is not yet supported;
 // the server ignores this field.
 func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1809,13 +1854,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1823,14 +1868,27 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1912,7 +1970,7 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -1921,23 +1979,23 @@
 // Binding of a Policy. Calling this method requires enabling the App
 // Engine Admin API.
 func (r *ProjectsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSetIamPolicyCall {
-	c := &ProjectsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSetIamPolicyCall) Context(ctx context.Context) *ProjectsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1950,9 +2008,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -2035,30 +2097,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Tests the specified permissions against the IAM
 // access control policy for the specified project.
 func (r *ProjectsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTestIamPermissionsCall {
-	c := &ProjectsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -2071,9 +2133,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -2153,10 +2219,10 @@
 // method id "cloudresourcemanager.projects.undelete":
 
 type ProjectsUndeleteCall struct {
-	s          *Service
-	projectId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Undelete: Restores the project identified by the specified
@@ -2169,22 +2235,22 @@
 // _PROGRESS], the project cannot be restored. The caller must have
 // modify permissions for this project.
 func (r *ProjectsService) Undelete(projectId string) *ProjectsUndeleteCall {
-	c := &ProjectsUndeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsUndeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsUndeleteCall) Fields(s ...googleapi.Field) *ProjectsUndeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsUndeleteCall) Context(ctx context.Context) *ProjectsUndeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2192,9 +2258,13 @@
 
 func (c *ProjectsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}:undelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2270,34 +2340,34 @@
 // method id "cloudresourcemanager.projects.update":
 
 type ProjectsUpdateCall struct {
-	s          *Service
-	projectId  string
-	project    *Project
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	project   *Project
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates the attributes of the project identified by the
 // specified `project_id` (for example, `my-project-123`). The caller
 // must have modify permissions for this project.
 func (r *ProjectsService) Update(projectId string, project *Project) *ProjectsUpdateCall {
-	c := &ProjectsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsUpdateCall) Fields(s ...googleapi.Field) *ProjectsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsUpdateCall) Context(ctx context.Context) *ProjectsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2310,9 +2380,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
diff --git a/clouduseraccounts/v0.alpha/clouduseraccounts-gen.go b/clouduseraccounts/v0.alpha/clouduseraccounts-gen.go
index cad290f..404bea2 100644
--- a/clouduseraccounts/v0.alpha/clouduseraccounts-gen.go
+++ b/clouduseraccounts/v0.alpha/clouduseraccounts-gen.go
@@ -1116,32 +1116,32 @@
 // method id "clouduseraccounts.globalAccountsOperations.delete":
 
 type GlobalAccountsOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified operation resource.
 func (r *GlobalAccountsOperationsService) Delete(project string, operation string) *GlobalAccountsOperationsDeleteCall {
-	c := &GlobalAccountsOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsDeleteCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsDeleteCall) Context(ctx context.Context) *GlobalAccountsOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1149,9 +1149,13 @@
 
 func (c *GlobalAccountsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1211,27 +1215,26 @@
 // method id "clouduseraccounts.globalAccountsOperations.get":
 
 type GlobalAccountsOperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified operation resource.
 func (r *GlobalAccountsOperationsService) Get(project string, operation string) *GlobalAccountsOperationsGetCall {
-	c := &GlobalAccountsOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsGetCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1241,13 +1244,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsGetCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsGetCall) Context(ctx context.Context) *GlobalAccountsOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1255,17 +1258,21 @@
 
 func (c *GlobalAccountsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1349,17 +1356,16 @@
 // method id "clouduseraccounts.globalAccountsOperations.list":
 
 type GlobalAccountsOperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified project.
 func (r *GlobalAccountsOperationsService) List(project string) *GlobalAccountsOperationsListCall {
-	c := &GlobalAccountsOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1380,14 +1386,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalAccountsOperationsListCall) Filter(filter string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalAccountsOperationsListCall) MaxResults(maxResults int64) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1404,7 +1410,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalAccountsOperationsListCall) OrderBy(orderBy string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1413,15 +1419,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalAccountsOperationsListCall) PageToken(pageToken string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsListCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1431,13 +1437,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsListCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsListCall) Context(ctx context.Context) *GlobalAccountsOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1445,16 +1451,32 @@
 
 func (c *GlobalAccountsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1558,30 +1580,30 @@
 	project                string
 	groupName              string
 	groupsaddmemberrequest *GroupsAddMemberRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // AddMember: Adds users to the specified group.
 func (r *GroupsService) AddMember(project string, groupName string, groupsaddmemberrequest *GroupsAddMemberRequest) *GroupsAddMemberCall {
-	c := &GroupsAddMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAddMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsaddmemberrequest = groupsaddmemberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAddMemberCall) Fields(s ...googleapi.Field) *GroupsAddMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAddMemberCall) Context(ctx context.Context) *GroupsAddMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -1594,9 +1616,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/addMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1687,32 +1713,32 @@
 // method id "clouduseraccounts.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	project    string
-	groupName  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified Group resource.
 func (r *GroupsService) Delete(project string, groupName string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1720,9 +1746,13 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1809,27 +1839,26 @@
 // method id "clouduseraccounts.groups.get":
 
 type GroupsGetCall struct {
-	s            *Service
-	project      string
-	groupName    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the specified Group resource.
 func (r *GroupsService) Get(project string, groupName string) *GroupsGetCall {
-	c := &GroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1839,13 +1868,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1853,17 +1882,21 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"groupName": c.groupName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1947,28 +1980,27 @@
 // method id "clouduseraccounts.groups.getIamPolicy":
 
 type GroupsGetIamPolicyCall struct {
-	s            *Service
-	project      string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. May be
 // empty if no such policy or resource exists.
 func (r *GroupsService) GetIamPolicy(project string, resource string) *GroupsGetIamPolicyCall {
-	c := &GroupsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *GroupsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1978,13 +2010,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *GroupsGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetIamPolicyCall) Context(ctx context.Context) *GroupsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1992,17 +2024,21 @@
 
 func (c *GroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{resource}/getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2086,33 +2122,33 @@
 // method id "clouduseraccounts.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	project    string
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	group   *Group
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a Group resource in the specified project using the
 // data included in the request.
 func (r *GroupsService) Insert(project string, group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2125,9 +2161,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2209,17 +2249,16 @@
 // method id "clouduseraccounts.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of groups contained within the specified
 // project.
 func (r *GroupsService) List(project string) *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2240,14 +2279,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GroupsListCall) Filter(filter string) *GroupsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2264,7 +2303,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GroupsListCall) OrderBy(orderBy string) *GroupsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -2273,15 +2312,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2291,13 +2330,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2305,16 +2344,32 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2418,30 +2473,30 @@
 	project                   string
 	groupName                 string
 	groupsremovememberrequest *GroupsRemoveMemberRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // RemoveMember: Removes users from the specified group.
 func (r *GroupsService) RemoveMember(project string, groupName string, groupsremovememberrequest *GroupsRemoveMemberRequest) *GroupsRemoveMemberCall {
-	c := &GroupsRemoveMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsRemoveMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsremovememberrequest = groupsremovememberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsRemoveMemberCall) Fields(s ...googleapi.Field) *GroupsRemoveMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsRemoveMemberCall) Context(ctx context.Context) *GroupsRemoveMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -2454,9 +2509,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/removeMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -2547,35 +2606,35 @@
 // method id "clouduseraccounts.groups.setIamPolicy":
 
 type GroupsSetIamPolicyCall struct {
-	s          *Service
-	project    string
-	resource   string
-	policy     *Policy
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	resource string
+	policy   *Policy
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *GroupsService) SetIamPolicy(project string, resource string, policy *Policy) *GroupsSetIamPolicyCall {
-	c := &GroupsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.policy = policy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *GroupsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsSetIamPolicyCall) Context(ctx context.Context) *GroupsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -2588,9 +2647,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{resource}/setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2687,31 +2750,31 @@
 	project                string
 	resource               string
 	testpermissionsrequest *TestPermissionsRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *GroupsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *GroupsTestIamPermissionsCall {
-	c := &GroupsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.testpermissionsrequest = testpermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *GroupsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsTestIamPermissionsCall) Context(ctx context.Context) *GroupsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -2724,9 +2787,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{resource}/testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2819,43 +2886,44 @@
 // method id "clouduseraccounts.linux.getAuthorizedKeysView":
 
 type LinuxGetAuthorizedKeysViewCall struct {
-	s          *Service
-	project    string
-	zone       string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	user     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetAuthorizedKeysView: Returns a list of authorized public keys for a
 // specific user account.
 func (r *LinuxService) GetAuthorizedKeysView(project string, zone string, user string, instance string) *LinuxGetAuthorizedKeysViewCall {
-	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.user = user
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
 // Login sets the optional parameter "login": Whether the view was
 // requested as part of a user-initiated login.
 func (c *LinuxGetAuthorizedKeysViewCall) Login(login bool) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("login", fmt.Sprintf("%v", login))
+	c.opt_["login"] = login
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetAuthorizedKeysViewCall) Fields(s ...googleapi.Field) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetAuthorizedKeysViewCall) Context(ctx context.Context) *LinuxGetAuthorizedKeysViewCall {
 	c.ctx_ = ctx
 	return c
@@ -2863,9 +2931,17 @@
 
 func (c *LinuxGetAuthorizedKeysViewCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["login"]; ok {
+		params.Set("login", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/authorizedKeysView/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2976,20 +3052,21 @@
 // method id "clouduseraccounts.linux.getLinuxAccountViews":
 
 type LinuxGetLinuxAccountViewsCall struct {
-	s          *Service
-	project    string
-	zone       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetLinuxAccountViews: Retrieves a list of user accounts for an
 // instance within a specific project.
 func (r *LinuxService) GetLinuxAccountViews(project string, zone string, instance string) *LinuxGetLinuxAccountViewsCall {
-	c := &LinuxGetLinuxAccountViewsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetLinuxAccountViewsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
@@ -3009,14 +3086,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *LinuxGetLinuxAccountViewsCall) Filter(filter string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *LinuxGetLinuxAccountViewsCall) MaxResults(maxResults int64) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3033,7 +3110,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *LinuxGetLinuxAccountViewsCall) OrderBy(orderBy string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3042,21 +3119,21 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *LinuxGetLinuxAccountViewsCall) PageToken(pageToken string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetLinuxAccountViewsCall) Fields(s ...googleapi.Field) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetLinuxAccountViewsCall) Context(ctx context.Context) *LinuxGetLinuxAccountViewsCall {
 	c.ctx_ = ctx
 	return c
@@ -3064,9 +3141,26 @@
 
 func (c *LinuxGetLinuxAccountViewsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/linuxAccountViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3187,35 +3281,35 @@
 // method id "clouduseraccounts.users.addPublicKey":
 
 type UsersAddPublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	publickey  *PublicKey
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	user      string
+	publickey *PublicKey
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // AddPublicKey: Adds a public key to the specified User resource with
 // the data included in the request.
 func (r *UsersService) AddPublicKey(project string, user string, publickey *PublicKey) *UsersAddPublicKeyCall {
-	c := &UsersAddPublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAddPublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	c.publickey = publickey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAddPublicKeyCall) Fields(s ...googleapi.Field) *UsersAddPublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAddPublicKeyCall) Context(ctx context.Context) *UsersAddPublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -3228,9 +3322,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/addPublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3321,32 +3419,32 @@
 // method id "clouduseraccounts.users.delete":
 
 type UsersDeleteCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified User resource.
 func (r *UsersService) Delete(project string, user string) *UsersDeleteCall {
-	c := &UsersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3354,9 +3452,13 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3443,27 +3545,26 @@
 // method id "clouduseraccounts.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	project      string
-	user         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified User resource.
 func (r *UsersService) Get(project string, user string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3473,13 +3574,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3487,17 +3588,21 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"user":    c.user,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3581,28 +3686,27 @@
 // method id "clouduseraccounts.users.getIamPolicy":
 
 type UsersGetIamPolicyCall struct {
-	s            *Service
-	project      string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. May be
 // empty if no such policy or resource exists.
 func (r *UsersService) GetIamPolicy(project string, resource string) *UsersGetIamPolicyCall {
-	c := &UsersGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetIamPolicyCall) Fields(s ...googleapi.Field) *UsersGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3612,13 +3716,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetIamPolicyCall) IfNoneMatch(entityTag string) *UsersGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetIamPolicyCall) Context(ctx context.Context) *UsersGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -3626,17 +3730,21 @@
 
 func (c *UsersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{resource}/getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3720,33 +3828,33 @@
 // method id "clouduseraccounts.users.insert":
 
 type UsersInsertCall struct {
-	s          *Service
-	project    string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    *User
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a User resource in the specified project using the
 // data included in the request.
 func (r *UsersService) Insert(project string, user *User) *UsersInsertCall {
-	c := &UsersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3759,9 +3867,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3843,17 +3955,16 @@
 // method id "clouduseraccounts.users.list":
 
 type UsersListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of users contained within the specified
 // project.
 func (r *UsersService) List(project string) *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -3874,14 +3985,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *UsersListCall) Filter(filter string) *UsersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3898,7 +4009,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3907,15 +4018,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3925,13 +4036,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -3939,16 +4050,32 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4048,33 +4175,34 @@
 // method id "clouduseraccounts.users.removePublicKey":
 
 type UsersRemovePublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s           *Service
+	project     string
+	user        string
+	fingerprint string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // RemovePublicKey: Removes the specified public key from the user.
 func (r *UsersService) RemovePublicKey(project string, user string, fingerprint string) *UsersRemovePublicKeyCall {
-	c := &UsersRemovePublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersRemovePublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.fingerprint = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersRemovePublicKeyCall) Fields(s ...googleapi.Field) *UsersRemovePublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersRemovePublicKeyCall) Context(ctx context.Context) *UsersRemovePublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -4082,9 +4210,14 @@
 
 func (c *UsersRemovePublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("fingerprint", fmt.Sprintf("%v", c.fingerprint))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/removePublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -4179,35 +4312,35 @@
 // method id "clouduseraccounts.users.setIamPolicy":
 
 type UsersSetIamPolicyCall struct {
-	s          *Service
-	project    string
-	resource   string
-	policy     *Policy
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	resource string
+	policy   *Policy
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *UsersService) SetIamPolicy(project string, resource string, policy *Policy) *UsersSetIamPolicyCall {
-	c := &UsersSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.policy = policy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersSetIamPolicyCall) Fields(s ...googleapi.Field) *UsersSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersSetIamPolicyCall) Context(ctx context.Context) *UsersSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -4220,9 +4353,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{resource}/setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4319,31 +4456,31 @@
 	project                string
 	resource               string
 	testpermissionsrequest *TestPermissionsRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *UsersService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *UsersTestIamPermissionsCall {
-	c := &UsersTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.testpermissionsrequest = testpermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersTestIamPermissionsCall) Fields(s ...googleapi.Field) *UsersTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersTestIamPermissionsCall) Context(ctx context.Context) *UsersTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -4356,9 +4493,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{resource}/testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
diff --git a/clouduseraccounts/v0.beta/clouduseraccounts-gen.go b/clouduseraccounts/v0.beta/clouduseraccounts-gen.go
index 95a3a72..a5f601b 100644
--- a/clouduseraccounts/v0.beta/clouduseraccounts-gen.go
+++ b/clouduseraccounts/v0.beta/clouduseraccounts-gen.go
@@ -819,32 +819,32 @@
 // method id "clouduseraccounts.globalAccountsOperations.delete":
 
 type GlobalAccountsOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified operation resource.
 func (r *GlobalAccountsOperationsService) Delete(project string, operation string) *GlobalAccountsOperationsDeleteCall {
-	c := &GlobalAccountsOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsDeleteCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsDeleteCall) Context(ctx context.Context) *GlobalAccountsOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -852,9 +852,13 @@
 
 func (c *GlobalAccountsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -914,27 +918,26 @@
 // method id "clouduseraccounts.globalAccountsOperations.get":
 
 type GlobalAccountsOperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified operation resource.
 func (r *GlobalAccountsOperationsService) Get(project string, operation string) *GlobalAccountsOperationsGetCall {
-	c := &GlobalAccountsOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsGetCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -944,13 +947,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsGetCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsGetCall) Context(ctx context.Context) *GlobalAccountsOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -958,17 +961,21 @@
 
 func (c *GlobalAccountsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1052,17 +1059,16 @@
 // method id "clouduseraccounts.globalAccountsOperations.list":
 
 type GlobalAccountsOperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified project.
 func (r *GlobalAccountsOperationsService) List(project string) *GlobalAccountsOperationsListCall {
-	c := &GlobalAccountsOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1083,14 +1089,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalAccountsOperationsListCall) Filter(filter string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalAccountsOperationsListCall) MaxResults(maxResults int64) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1107,7 +1113,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalAccountsOperationsListCall) OrderBy(orderBy string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1116,15 +1122,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalAccountsOperationsListCall) PageToken(pageToken string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsListCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1134,13 +1140,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsListCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsListCall) Context(ctx context.Context) *GlobalAccountsOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1148,16 +1154,32 @@
 
 func (c *GlobalAccountsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1261,30 +1283,30 @@
 	project                string
 	groupName              string
 	groupsaddmemberrequest *GroupsAddMemberRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // AddMember: Adds users to the specified group.
 func (r *GroupsService) AddMember(project string, groupName string, groupsaddmemberrequest *GroupsAddMemberRequest) *GroupsAddMemberCall {
-	c := &GroupsAddMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAddMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsaddmemberrequest = groupsaddmemberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAddMemberCall) Fields(s ...googleapi.Field) *GroupsAddMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAddMemberCall) Context(ctx context.Context) *GroupsAddMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -1297,9 +1319,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/addMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1390,32 +1416,32 @@
 // method id "clouduseraccounts.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	project    string
-	groupName  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified Group resource.
 func (r *GroupsService) Delete(project string, groupName string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1423,9 +1449,13 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1512,27 +1542,26 @@
 // method id "clouduseraccounts.groups.get":
 
 type GroupsGetCall struct {
-	s            *Service
-	project      string
-	groupName    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the specified Group resource.
 func (r *GroupsService) Get(project string, groupName string) *GroupsGetCall {
-	c := &GroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1542,13 +1571,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1556,17 +1585,21 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"groupName": c.groupName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1650,33 +1683,33 @@
 // method id "clouduseraccounts.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	project    string
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	group   *Group
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a Group resource in the specified project using the
 // data included in the request.
 func (r *GroupsService) Insert(project string, group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1689,9 +1722,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1773,17 +1810,16 @@
 // method id "clouduseraccounts.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of groups contained within the specified
 // project.
 func (r *GroupsService) List(project string) *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1804,14 +1840,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GroupsListCall) Filter(filter string) *GroupsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1828,7 +1864,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GroupsListCall) OrderBy(orderBy string) *GroupsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1837,15 +1873,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1855,13 +1891,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1869,16 +1905,32 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1982,30 +2034,30 @@
 	project                   string
 	groupName                 string
 	groupsremovememberrequest *GroupsRemoveMemberRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // RemoveMember: Removes users from the specified group.
 func (r *GroupsService) RemoveMember(project string, groupName string, groupsremovememberrequest *GroupsRemoveMemberRequest) *GroupsRemoveMemberCall {
-	c := &GroupsRemoveMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsRemoveMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsremovememberrequest = groupsremovememberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsRemoveMemberCall) Fields(s ...googleapi.Field) *GroupsRemoveMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsRemoveMemberCall) Context(ctx context.Context) *GroupsRemoveMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -2018,9 +2070,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/removeMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -2111,43 +2167,44 @@
 // method id "clouduseraccounts.linux.getAuthorizedKeysView":
 
 type LinuxGetAuthorizedKeysViewCall struct {
-	s          *Service
-	project    string
-	zone       string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	user     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetAuthorizedKeysView: Returns a list of authorized public keys for a
 // specific user account.
 func (r *LinuxService) GetAuthorizedKeysView(project string, zone string, user string, instance string) *LinuxGetAuthorizedKeysViewCall {
-	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.user = user
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
 // Login sets the optional parameter "login": Whether the view was
 // requested as part of a user-initiated login.
 func (c *LinuxGetAuthorizedKeysViewCall) Login(login bool) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("login", fmt.Sprintf("%v", login))
+	c.opt_["login"] = login
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetAuthorizedKeysViewCall) Fields(s ...googleapi.Field) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetAuthorizedKeysViewCall) Context(ctx context.Context) *LinuxGetAuthorizedKeysViewCall {
 	c.ctx_ = ctx
 	return c
@@ -2155,9 +2212,17 @@
 
 func (c *LinuxGetAuthorizedKeysViewCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["login"]; ok {
+		params.Set("login", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/authorizedKeysView/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2268,20 +2333,21 @@
 // method id "clouduseraccounts.linux.getLinuxAccountViews":
 
 type LinuxGetLinuxAccountViewsCall struct {
-	s          *Service
-	project    string
-	zone       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetLinuxAccountViews: Retrieves a list of user accounts for an
 // instance within a specific project.
 func (r *LinuxService) GetLinuxAccountViews(project string, zone string, instance string) *LinuxGetLinuxAccountViewsCall {
-	c := &LinuxGetLinuxAccountViewsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetLinuxAccountViewsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
@@ -2301,14 +2367,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *LinuxGetLinuxAccountViewsCall) Filter(filter string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *LinuxGetLinuxAccountViewsCall) MaxResults(maxResults int64) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2325,7 +2391,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *LinuxGetLinuxAccountViewsCall) OrderBy(orderBy string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -2334,21 +2400,21 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *LinuxGetLinuxAccountViewsCall) PageToken(pageToken string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetLinuxAccountViewsCall) Fields(s ...googleapi.Field) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetLinuxAccountViewsCall) Context(ctx context.Context) *LinuxGetLinuxAccountViewsCall {
 	c.ctx_ = ctx
 	return c
@@ -2356,9 +2422,26 @@
 
 func (c *LinuxGetLinuxAccountViewsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/linuxAccountViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2479,35 +2562,35 @@
 // method id "clouduseraccounts.users.addPublicKey":
 
 type UsersAddPublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	publickey  *PublicKey
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	user      string
+	publickey *PublicKey
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // AddPublicKey: Adds a public key to the specified User resource with
 // the data included in the request.
 func (r *UsersService) AddPublicKey(project string, user string, publickey *PublicKey) *UsersAddPublicKeyCall {
-	c := &UsersAddPublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAddPublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	c.publickey = publickey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAddPublicKeyCall) Fields(s ...googleapi.Field) *UsersAddPublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAddPublicKeyCall) Context(ctx context.Context) *UsersAddPublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -2520,9 +2603,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/addPublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2613,32 +2700,32 @@
 // method id "clouduseraccounts.users.delete":
 
 type UsersDeleteCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified User resource.
 func (r *UsersService) Delete(project string, user string) *UsersDeleteCall {
-	c := &UsersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2646,9 +2733,13 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2735,27 +2826,26 @@
 // method id "clouduseraccounts.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	project      string
-	user         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified User resource.
 func (r *UsersService) Get(project string, user string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2765,13 +2855,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2779,17 +2869,21 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"user":    c.user,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2873,33 +2967,33 @@
 // method id "clouduseraccounts.users.insert":
 
 type UsersInsertCall struct {
-	s          *Service
-	project    string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    *User
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a User resource in the specified project using the
 // data included in the request.
 func (r *UsersService) Insert(project string, user *User) *UsersInsertCall {
-	c := &UsersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2912,9 +3006,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2996,17 +3094,16 @@
 // method id "clouduseraccounts.users.list":
 
 type UsersListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of users contained within the specified
 // project.
 func (r *UsersService) List(project string) *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -3027,14 +3124,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *UsersListCall) Filter(filter string) *UsersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3051,7 +3148,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3060,15 +3157,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3078,13 +3175,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -3092,16 +3189,32 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3201,33 +3314,34 @@
 // method id "clouduseraccounts.users.removePublicKey":
 
 type UsersRemovePublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s           *Service
+	project     string
+	user        string
+	fingerprint string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // RemovePublicKey: Removes the specified public key from the user.
 func (r *UsersService) RemovePublicKey(project string, user string, fingerprint string) *UsersRemovePublicKeyCall {
-	c := &UsersRemovePublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersRemovePublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.fingerprint = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersRemovePublicKeyCall) Fields(s ...googleapi.Field) *UsersRemovePublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersRemovePublicKeyCall) Context(ctx context.Context) *UsersRemovePublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -3235,9 +3349,14 @@
 
 func (c *UsersRemovePublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("fingerprint", fmt.Sprintf("%v", c.fingerprint))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/removePublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
diff --git a/clouduseraccounts/vm_alpha/clouduseraccounts-gen.go b/clouduseraccounts/vm_alpha/clouduseraccounts-gen.go
index a59fb27..6da9a4d 100644
--- a/clouduseraccounts/vm_alpha/clouduseraccounts-gen.go
+++ b/clouduseraccounts/vm_alpha/clouduseraccounts-gen.go
@@ -1116,32 +1116,32 @@
 // method id "clouduseraccounts.globalAccountsOperations.delete":
 
 type GlobalAccountsOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified operation resource.
 func (r *GlobalAccountsOperationsService) Delete(project string, operation string) *GlobalAccountsOperationsDeleteCall {
-	c := &GlobalAccountsOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsDeleteCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsDeleteCall) Context(ctx context.Context) *GlobalAccountsOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1149,9 +1149,13 @@
 
 func (c *GlobalAccountsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1211,27 +1215,26 @@
 // method id "clouduseraccounts.globalAccountsOperations.get":
 
 type GlobalAccountsOperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified operation resource.
 func (r *GlobalAccountsOperationsService) Get(project string, operation string) *GlobalAccountsOperationsGetCall {
-	c := &GlobalAccountsOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsGetCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1241,13 +1244,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsGetCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsGetCall) Context(ctx context.Context) *GlobalAccountsOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1255,17 +1258,21 @@
 
 func (c *GlobalAccountsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1349,17 +1356,16 @@
 // method id "clouduseraccounts.globalAccountsOperations.list":
 
 type GlobalAccountsOperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified project.
 func (r *GlobalAccountsOperationsService) List(project string) *GlobalAccountsOperationsListCall {
-	c := &GlobalAccountsOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1380,14 +1386,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalAccountsOperationsListCall) Filter(filter string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalAccountsOperationsListCall) MaxResults(maxResults int64) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1404,7 +1410,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalAccountsOperationsListCall) OrderBy(orderBy string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1413,15 +1419,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalAccountsOperationsListCall) PageToken(pageToken string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsListCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1431,13 +1437,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsListCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsListCall) Context(ctx context.Context) *GlobalAccountsOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1445,16 +1451,32 @@
 
 func (c *GlobalAccountsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1558,30 +1580,30 @@
 	project                string
 	groupName              string
 	groupsaddmemberrequest *GroupsAddMemberRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // AddMember: Adds users to the specified group.
 func (r *GroupsService) AddMember(project string, groupName string, groupsaddmemberrequest *GroupsAddMemberRequest) *GroupsAddMemberCall {
-	c := &GroupsAddMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAddMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsaddmemberrequest = groupsaddmemberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAddMemberCall) Fields(s ...googleapi.Field) *GroupsAddMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAddMemberCall) Context(ctx context.Context) *GroupsAddMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -1594,9 +1616,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/addMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1687,32 +1713,32 @@
 // method id "clouduseraccounts.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	project    string
-	groupName  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified Group resource.
 func (r *GroupsService) Delete(project string, groupName string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1720,9 +1746,13 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1809,27 +1839,26 @@
 // method id "clouduseraccounts.groups.get":
 
 type GroupsGetCall struct {
-	s            *Service
-	project      string
-	groupName    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the specified Group resource.
 func (r *GroupsService) Get(project string, groupName string) *GroupsGetCall {
-	c := &GroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1839,13 +1868,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1853,17 +1882,21 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"groupName": c.groupName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1947,28 +1980,27 @@
 // method id "clouduseraccounts.groups.getIamPolicy":
 
 type GroupsGetIamPolicyCall struct {
-	s            *Service
-	project      string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. May be
 // empty if no such policy or resource exists.
 func (r *GroupsService) GetIamPolicy(project string, resource string) *GroupsGetIamPolicyCall {
-	c := &GroupsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *GroupsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1978,13 +2010,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetIamPolicyCall) IfNoneMatch(entityTag string) *GroupsGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetIamPolicyCall) Context(ctx context.Context) *GroupsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1992,17 +2024,21 @@
 
 func (c *GroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{resource}/getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2086,33 +2122,33 @@
 // method id "clouduseraccounts.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	project    string
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	group   *Group
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a Group resource in the specified project using the
 // data included in the request.
 func (r *GroupsService) Insert(project string, group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2125,9 +2161,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2209,17 +2249,16 @@
 // method id "clouduseraccounts.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of groups contained within the specified
 // project.
 func (r *GroupsService) List(project string) *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2240,14 +2279,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GroupsListCall) Filter(filter string) *GroupsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2264,7 +2303,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GroupsListCall) OrderBy(orderBy string) *GroupsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -2273,15 +2312,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2291,13 +2330,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2305,16 +2344,32 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2418,30 +2473,30 @@
 	project                   string
 	groupName                 string
 	groupsremovememberrequest *GroupsRemoveMemberRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // RemoveMember: Removes users from the specified group.
 func (r *GroupsService) RemoveMember(project string, groupName string, groupsremovememberrequest *GroupsRemoveMemberRequest) *GroupsRemoveMemberCall {
-	c := &GroupsRemoveMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsRemoveMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsremovememberrequest = groupsremovememberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsRemoveMemberCall) Fields(s ...googleapi.Field) *GroupsRemoveMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsRemoveMemberCall) Context(ctx context.Context) *GroupsRemoveMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -2454,9 +2509,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/removeMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -2547,35 +2606,35 @@
 // method id "clouduseraccounts.groups.setIamPolicy":
 
 type GroupsSetIamPolicyCall struct {
-	s          *Service
-	project    string
-	resource   string
-	policy     *Policy
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	resource string
+	policy   *Policy
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *GroupsService) SetIamPolicy(project string, resource string, policy *Policy) *GroupsSetIamPolicyCall {
-	c := &GroupsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.policy = policy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *GroupsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsSetIamPolicyCall) Context(ctx context.Context) *GroupsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -2588,9 +2647,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{resource}/setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2687,31 +2750,31 @@
 	project                string
 	resource               string
 	testpermissionsrequest *TestPermissionsRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *GroupsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *GroupsTestIamPermissionsCall {
-	c := &GroupsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.testpermissionsrequest = testpermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *GroupsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsTestIamPermissionsCall) Context(ctx context.Context) *GroupsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -2724,9 +2787,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{resource}/testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2819,43 +2886,44 @@
 // method id "clouduseraccounts.linux.getAuthorizedKeysView":
 
 type LinuxGetAuthorizedKeysViewCall struct {
-	s          *Service
-	project    string
-	zone       string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	user     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetAuthorizedKeysView: Returns a list of authorized public keys for a
 // specific user account.
 func (r *LinuxService) GetAuthorizedKeysView(project string, zone string, user string, instance string) *LinuxGetAuthorizedKeysViewCall {
-	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.user = user
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
 // Login sets the optional parameter "login": Whether the view was
 // requested as part of a user-initiated login.
 func (c *LinuxGetAuthorizedKeysViewCall) Login(login bool) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("login", fmt.Sprintf("%v", login))
+	c.opt_["login"] = login
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetAuthorizedKeysViewCall) Fields(s ...googleapi.Field) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetAuthorizedKeysViewCall) Context(ctx context.Context) *LinuxGetAuthorizedKeysViewCall {
 	c.ctx_ = ctx
 	return c
@@ -2863,9 +2931,17 @@
 
 func (c *LinuxGetAuthorizedKeysViewCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["login"]; ok {
+		params.Set("login", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/authorizedKeysView/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2976,20 +3052,21 @@
 // method id "clouduseraccounts.linux.getLinuxAccountViews":
 
 type LinuxGetLinuxAccountViewsCall struct {
-	s          *Service
-	project    string
-	zone       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetLinuxAccountViews: Retrieves a list of user accounts for an
 // instance within a specific project.
 func (r *LinuxService) GetLinuxAccountViews(project string, zone string, instance string) *LinuxGetLinuxAccountViewsCall {
-	c := &LinuxGetLinuxAccountViewsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetLinuxAccountViewsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
@@ -3009,14 +3086,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *LinuxGetLinuxAccountViewsCall) Filter(filter string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *LinuxGetLinuxAccountViewsCall) MaxResults(maxResults int64) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3033,7 +3110,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *LinuxGetLinuxAccountViewsCall) OrderBy(orderBy string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3042,21 +3119,21 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *LinuxGetLinuxAccountViewsCall) PageToken(pageToken string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetLinuxAccountViewsCall) Fields(s ...googleapi.Field) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetLinuxAccountViewsCall) Context(ctx context.Context) *LinuxGetLinuxAccountViewsCall {
 	c.ctx_ = ctx
 	return c
@@ -3064,9 +3141,26 @@
 
 func (c *LinuxGetLinuxAccountViewsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/linuxAccountViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3187,35 +3281,35 @@
 // method id "clouduseraccounts.users.addPublicKey":
 
 type UsersAddPublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	publickey  *PublicKey
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	user      string
+	publickey *PublicKey
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // AddPublicKey: Adds a public key to the specified User resource with
 // the data included in the request.
 func (r *UsersService) AddPublicKey(project string, user string, publickey *PublicKey) *UsersAddPublicKeyCall {
-	c := &UsersAddPublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAddPublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	c.publickey = publickey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAddPublicKeyCall) Fields(s ...googleapi.Field) *UsersAddPublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAddPublicKeyCall) Context(ctx context.Context) *UsersAddPublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -3228,9 +3322,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/addPublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3321,32 +3419,32 @@
 // method id "clouduseraccounts.users.delete":
 
 type UsersDeleteCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified User resource.
 func (r *UsersService) Delete(project string, user string) *UsersDeleteCall {
-	c := &UsersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3354,9 +3452,13 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3443,27 +3545,26 @@
 // method id "clouduseraccounts.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	project      string
-	user         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified User resource.
 func (r *UsersService) Get(project string, user string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3473,13 +3574,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3487,17 +3588,21 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"user":    c.user,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3581,28 +3686,27 @@
 // method id "clouduseraccounts.users.getIamPolicy":
 
 type UsersGetIamPolicyCall struct {
-	s            *Service
-	project      string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. May be
 // empty if no such policy or resource exists.
 func (r *UsersService) GetIamPolicy(project string, resource string) *UsersGetIamPolicyCall {
-	c := &UsersGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetIamPolicyCall) Fields(s ...googleapi.Field) *UsersGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3612,13 +3716,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetIamPolicyCall) IfNoneMatch(entityTag string) *UsersGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetIamPolicyCall) Context(ctx context.Context) *UsersGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -3626,17 +3730,21 @@
 
 func (c *UsersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{resource}/getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3720,33 +3828,33 @@
 // method id "clouduseraccounts.users.insert":
 
 type UsersInsertCall struct {
-	s          *Service
-	project    string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    *User
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a User resource in the specified project using the
 // data included in the request.
 func (r *UsersService) Insert(project string, user *User) *UsersInsertCall {
-	c := &UsersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3759,9 +3867,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3843,17 +3955,16 @@
 // method id "clouduseraccounts.users.list":
 
 type UsersListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of users contained within the specified
 // project.
 func (r *UsersService) List(project string) *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -3874,14 +3985,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *UsersListCall) Filter(filter string) *UsersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3898,7 +4009,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3907,15 +4018,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3925,13 +4036,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -3939,16 +4050,32 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4048,33 +4175,34 @@
 // method id "clouduseraccounts.users.removePublicKey":
 
 type UsersRemovePublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s           *Service
+	project     string
+	user        string
+	fingerprint string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // RemovePublicKey: Removes the specified public key from the user.
 func (r *UsersService) RemovePublicKey(project string, user string, fingerprint string) *UsersRemovePublicKeyCall {
-	c := &UsersRemovePublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersRemovePublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.fingerprint = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersRemovePublicKeyCall) Fields(s ...googleapi.Field) *UsersRemovePublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersRemovePublicKeyCall) Context(ctx context.Context) *UsersRemovePublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -4082,9 +4210,14 @@
 
 func (c *UsersRemovePublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("fingerprint", fmt.Sprintf("%v", c.fingerprint))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/removePublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -4179,35 +4312,35 @@
 // method id "clouduseraccounts.users.setIamPolicy":
 
 type UsersSetIamPolicyCall struct {
-	s          *Service
-	project    string
-	resource   string
-	policy     *Policy
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	resource string
+	policy   *Policy
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *UsersService) SetIamPolicy(project string, resource string, policy *Policy) *UsersSetIamPolicyCall {
-	c := &UsersSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.policy = policy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersSetIamPolicyCall) Fields(s ...googleapi.Field) *UsersSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersSetIamPolicyCall) Context(ctx context.Context) *UsersSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -4220,9 +4353,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{resource}/setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4319,31 +4456,31 @@
 	project                string
 	resource               string
 	testpermissionsrequest *TestPermissionsRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *UsersService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *UsersTestIamPermissionsCall {
-	c := &UsersTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.resource = resource
 	c.testpermissionsrequest = testpermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersTestIamPermissionsCall) Fields(s ...googleapi.Field) *UsersTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersTestIamPermissionsCall) Context(ctx context.Context) *UsersTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -4356,9 +4493,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{resource}/testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
diff --git a/clouduseraccounts/vm_beta/clouduseraccounts-gen.go b/clouduseraccounts/vm_beta/clouduseraccounts-gen.go
index 90919cf..a5cebc3 100644
--- a/clouduseraccounts/vm_beta/clouduseraccounts-gen.go
+++ b/clouduseraccounts/vm_beta/clouduseraccounts-gen.go
@@ -819,32 +819,32 @@
 // method id "clouduseraccounts.globalAccountsOperations.delete":
 
 type GlobalAccountsOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified operation resource.
 func (r *GlobalAccountsOperationsService) Delete(project string, operation string) *GlobalAccountsOperationsDeleteCall {
-	c := &GlobalAccountsOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsDeleteCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsDeleteCall) Context(ctx context.Context) *GlobalAccountsOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -852,9 +852,13 @@
 
 func (c *GlobalAccountsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -914,27 +918,26 @@
 // method id "clouduseraccounts.globalAccountsOperations.get":
 
 type GlobalAccountsOperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified operation resource.
 func (r *GlobalAccountsOperationsService) Get(project string, operation string) *GlobalAccountsOperationsGetCall {
-	c := &GlobalAccountsOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsGetCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -944,13 +947,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsGetCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsGetCall) Context(ctx context.Context) *GlobalAccountsOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -958,17 +961,21 @@
 
 func (c *GlobalAccountsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1052,17 +1059,16 @@
 // method id "clouduseraccounts.globalAccountsOperations.list":
 
 type GlobalAccountsOperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified project.
 func (r *GlobalAccountsOperationsService) List(project string) *GlobalAccountsOperationsListCall {
-	c := &GlobalAccountsOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAccountsOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1083,14 +1089,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalAccountsOperationsListCall) Filter(filter string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalAccountsOperationsListCall) MaxResults(maxResults int64) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1107,7 +1113,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalAccountsOperationsListCall) OrderBy(orderBy string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1116,15 +1122,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalAccountsOperationsListCall) PageToken(pageToken string) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAccountsOperationsListCall) Fields(s ...googleapi.Field) *GlobalAccountsOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1134,13 +1140,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAccountsOperationsListCall) IfNoneMatch(entityTag string) *GlobalAccountsOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAccountsOperationsListCall) Context(ctx context.Context) *GlobalAccountsOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1148,16 +1154,32 @@
 
 func (c *GlobalAccountsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1261,30 +1283,30 @@
 	project                string
 	groupName              string
 	groupsaddmemberrequest *GroupsAddMemberRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // AddMember: Adds users to the specified group.
 func (r *GroupsService) AddMember(project string, groupName string, groupsaddmemberrequest *GroupsAddMemberRequest) *GroupsAddMemberCall {
-	c := &GroupsAddMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsAddMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsaddmemberrequest = groupsaddmemberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsAddMemberCall) Fields(s ...googleapi.Field) *GroupsAddMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsAddMemberCall) Context(ctx context.Context) *GroupsAddMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -1297,9 +1319,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/addMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1390,32 +1416,32 @@
 // method id "clouduseraccounts.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	project    string
-	groupName  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified Group resource.
 func (r *GroupsService) Delete(project string, groupName string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1423,9 +1449,13 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1512,27 +1542,26 @@
 // method id "clouduseraccounts.groups.get":
 
 type GroupsGetCall struct {
-	s            *Service
-	project      string
-	groupName    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	groupName string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the specified Group resource.
 func (r *GroupsService) Get(project string, groupName string) *GroupsGetCall {
-	c := &GroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1542,13 +1571,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1556,17 +1585,21 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"groupName": c.groupName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1650,33 +1683,33 @@
 // method id "clouduseraccounts.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	project    string
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	group   *Group
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a Group resource in the specified project using the
 // data included in the request.
 func (r *GroupsService) Insert(project string, group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.group = group
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1689,9 +1722,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1773,17 +1810,16 @@
 // method id "clouduseraccounts.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of groups contained within the specified
 // project.
 func (r *GroupsService) List(project string) *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1804,14 +1840,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GroupsListCall) Filter(filter string) *GroupsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1828,7 +1864,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GroupsListCall) OrderBy(orderBy string) *GroupsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1837,15 +1873,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1855,13 +1891,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1869,16 +1905,32 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1982,30 +2034,30 @@
 	project                   string
 	groupName                 string
 	groupsremovememberrequest *GroupsRemoveMemberRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // RemoveMember: Removes users from the specified group.
 func (r *GroupsService) RemoveMember(project string, groupName string, groupsremovememberrequest *GroupsRemoveMemberRequest) *GroupsRemoveMemberCall {
-	c := &GroupsRemoveMemberCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsRemoveMemberCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.groupName = groupName
 	c.groupsremovememberrequest = groupsremovememberrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsRemoveMemberCall) Fields(s ...googleapi.Field) *GroupsRemoveMemberCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsRemoveMemberCall) Context(ctx context.Context) *GroupsRemoveMemberCall {
 	c.ctx_ = ctx
 	return c
@@ -2018,9 +2070,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/groups/{groupName}/removeMember")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -2111,43 +2167,44 @@
 // method id "clouduseraccounts.linux.getAuthorizedKeysView":
 
 type LinuxGetAuthorizedKeysViewCall struct {
-	s          *Service
-	project    string
-	zone       string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	user     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetAuthorizedKeysView: Returns a list of authorized public keys for a
 // specific user account.
 func (r *LinuxService) GetAuthorizedKeysView(project string, zone string, user string, instance string) *LinuxGetAuthorizedKeysViewCall {
-	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetAuthorizedKeysViewCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.user = user
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
 // Login sets the optional parameter "login": Whether the view was
 // requested as part of a user-initiated login.
 func (c *LinuxGetAuthorizedKeysViewCall) Login(login bool) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("login", fmt.Sprintf("%v", login))
+	c.opt_["login"] = login
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetAuthorizedKeysViewCall) Fields(s ...googleapi.Field) *LinuxGetAuthorizedKeysViewCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetAuthorizedKeysViewCall) Context(ctx context.Context) *LinuxGetAuthorizedKeysViewCall {
 	c.ctx_ = ctx
 	return c
@@ -2155,9 +2212,17 @@
 
 func (c *LinuxGetAuthorizedKeysViewCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["login"]; ok {
+		params.Set("login", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/authorizedKeysView/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2268,20 +2333,21 @@
 // method id "clouduseraccounts.linux.getLinuxAccountViews":
 
 type LinuxGetLinuxAccountViewsCall struct {
-	s          *Service
-	project    string
-	zone       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetLinuxAccountViews: Retrieves a list of user accounts for an
 // instance within a specific project.
 func (r *LinuxService) GetLinuxAccountViews(project string, zone string, instance string) *LinuxGetLinuxAccountViewsCall {
-	c := &LinuxGetLinuxAccountViewsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinuxGetLinuxAccountViewsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
@@ -2301,14 +2367,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *LinuxGetLinuxAccountViewsCall) Filter(filter string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *LinuxGetLinuxAccountViewsCall) MaxResults(maxResults int64) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2325,7 +2391,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *LinuxGetLinuxAccountViewsCall) OrderBy(orderBy string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -2334,21 +2400,21 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *LinuxGetLinuxAccountViewsCall) PageToken(pageToken string) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinuxGetLinuxAccountViewsCall) Fields(s ...googleapi.Field) *LinuxGetLinuxAccountViewsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinuxGetLinuxAccountViewsCall) Context(ctx context.Context) *LinuxGetLinuxAccountViewsCall {
 	c.ctx_ = ctx
 	return c
@@ -2356,9 +2422,26 @@
 
 func (c *LinuxGetLinuxAccountViewsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/linuxAccountViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2479,35 +2562,35 @@
 // method id "clouduseraccounts.users.addPublicKey":
 
 type UsersAddPublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	publickey  *PublicKey
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	user      string
+	publickey *PublicKey
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // AddPublicKey: Adds a public key to the specified User resource with
 // the data included in the request.
 func (r *UsersService) AddPublicKey(project string, user string, publickey *PublicKey) *UsersAddPublicKeyCall {
-	c := &UsersAddPublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersAddPublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	c.publickey = publickey
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersAddPublicKeyCall) Fields(s ...googleapi.Field) *UsersAddPublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersAddPublicKeyCall) Context(ctx context.Context) *UsersAddPublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -2520,9 +2603,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/addPublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2613,32 +2700,32 @@
 // method id "clouduseraccounts.users.delete":
 
 type UsersDeleteCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified User resource.
 func (r *UsersService) Delete(project string, user string) *UsersDeleteCall {
-	c := &UsersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2646,9 +2733,13 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2735,27 +2826,26 @@
 // method id "clouduseraccounts.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	project      string
-	user         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	user    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified User resource.
 func (r *UsersService) Get(project string, user string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2765,13 +2855,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2779,17 +2869,21 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"user":    c.user,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2873,33 +2967,33 @@
 // method id "clouduseraccounts.users.insert":
 
 type UsersInsertCall struct {
-	s          *Service
-	project    string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	user    *User
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a User resource in the specified project using the
 // data included in the request.
 func (r *UsersService) Insert(project string, user *User) *UsersInsertCall {
-	c := &UsersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2912,9 +3006,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2996,17 +3094,16 @@
 // method id "clouduseraccounts.users.list":
 
 type UsersListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of users contained within the specified
 // project.
 func (r *UsersService) List(project string) *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -3027,14 +3124,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *UsersListCall) Filter(filter string) *UsersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3051,7 +3148,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3060,15 +3157,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3078,13 +3175,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -3092,16 +3189,32 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3201,33 +3314,34 @@
 // method id "clouduseraccounts.users.removePublicKey":
 
 type UsersRemovePublicKeyCall struct {
-	s          *Service
-	project    string
-	user       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s           *Service
+	project     string
+	user        string
+	fingerprint string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // RemovePublicKey: Removes the specified public key from the user.
 func (r *UsersService) RemovePublicKey(project string, user string, fingerprint string) *UsersRemovePublicKeyCall {
-	c := &UsersRemovePublicKeyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersRemovePublicKeyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.user = user
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.fingerprint = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersRemovePublicKeyCall) Fields(s ...googleapi.Field) *UsersRemovePublicKeyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersRemovePublicKeyCall) Context(ctx context.Context) *UsersRemovePublicKeyCall {
 	c.ctx_ = ctx
 	return c
@@ -3235,9 +3349,14 @@
 
 func (c *UsersRemovePublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("fingerprint", fmt.Sprintf("%v", c.fingerprint))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/users/{user}/removePublicKey")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go
index 719958b..0f2592b 100644
--- a/compute/v0.beta/compute-gen.go
+++ b/compute/v0.beta/compute-gen.go
@@ -8116,17 +8116,16 @@
 // method id "compute.addresses.aggregatedList":
 
 type AddressesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of addresses grouped by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/aggregatedList
 func (r *AddressesService) AggregatedList(project string) *AddressesAggregatedListCall {
-	c := &AddressesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -8147,14 +8146,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AddressesAggregatedListCall) Filter(filter string) *AddressesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AddressesAggregatedListCall) MaxResults(maxResults int64) *AddressesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8171,7 +8170,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *AddressesAggregatedListCall) OrderBy(orderBy string) *AddressesAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -8180,15 +8179,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AddressesAggregatedListCall) PageToken(pageToken string) *AddressesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesAggregatedListCall) Fields(s ...googleapi.Field) *AddressesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8198,13 +8197,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AddressesAggregatedListCall) IfNoneMatch(entityTag string) *AddressesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesAggregatedListCall) Context(ctx context.Context) *AddressesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -8212,16 +8211,32 @@
 
 func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8320,35 +8335,35 @@
 // method id "compute.addresses.delete":
 
 type AddressesDeleteCall struct {
-	s          *Service
-	project    string
-	region     string
-	address    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	region  string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/delete
 func (r *AddressesService) Delete(project string, region string, address string) *AddressesDeleteCall {
-	c := &AddressesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesDeleteCall) Fields(s ...googleapi.Field) *AddressesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesDeleteCall) Context(ctx context.Context) *AddressesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8356,9 +8371,13 @@
 
 func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -8454,30 +8473,29 @@
 // method id "compute.addresses.get":
 
 type AddressesGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	address      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/get
 func (r *AddressesService) Get(project string, region string, address string) *AddressesGetCall {
-	c := &AddressesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesGetCall) Fields(s ...googleapi.Field) *AddressesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8487,13 +8505,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AddressesGetCall) IfNoneMatch(entityTag string) *AddressesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesGetCall) Context(ctx context.Context) *AddressesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8501,9 +8519,13 @@
 
 func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -8511,8 +8533,8 @@
 		"address": c.address,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8603,36 +8625,36 @@
 // method id "compute.addresses.insert":
 
 type AddressesInsertCall struct {
-	s          *Service
-	project    string
-	region     string
-	address    *Address
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	region  string
+	address *Address
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates an address resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/insert
 func (r *AddressesService) Insert(project string, region string, address *Address) *AddressesInsertCall {
-	c := &AddressesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesInsertCall) Fields(s ...googleapi.Field) *AddressesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesInsertCall) Context(ctx context.Context) *AddressesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8645,9 +8667,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -8738,19 +8764,18 @@
 // method id "compute.addresses.list":
 
 type AddressesListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of address resources contained within the
 // specified region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/list
 func (r *AddressesService) List(project string, region string) *AddressesListCall {
-	c := &AddressesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -8772,14 +8797,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AddressesListCall) Filter(filter string) *AddressesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AddressesListCall) MaxResults(maxResults int64) *AddressesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8796,7 +8821,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *AddressesListCall) OrderBy(orderBy string) *AddressesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -8805,15 +8830,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AddressesListCall) PageToken(pageToken string) *AddressesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesListCall) Fields(s ...googleapi.Field) *AddressesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8823,13 +8848,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AddressesListCall) IfNoneMatch(entityTag string) *AddressesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesListCall) Context(ctx context.Context) *AddressesListCall {
 	c.ctx_ = ctx
 	return c
@@ -8837,17 +8862,33 @@
 
 func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8954,16 +8995,15 @@
 // method id "compute.autoscalers.aggregatedList":
 
 type AutoscalersAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of autoscalers grouped by scope.
 func (r *AutoscalersService) AggregatedList(project string) *AutoscalersAggregatedListCall {
-	c := &AutoscalersAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -8984,14 +9024,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AutoscalersAggregatedListCall) Filter(filter string) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AutoscalersAggregatedListCall) MaxResults(maxResults int64) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9008,7 +9048,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *AutoscalersAggregatedListCall) OrderBy(orderBy string) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -9017,15 +9057,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AutoscalersAggregatedListCall) PageToken(pageToken string) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersAggregatedListCall) Fields(s ...googleapi.Field) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9035,13 +9075,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersAggregatedListCall) IfNoneMatch(entityTag string) *AutoscalersAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersAggregatedListCall) Context(ctx context.Context) *AutoscalersAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -9049,16 +9089,32 @@
 
 func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9161,30 +9217,30 @@
 	project    string
 	zone       string
 	autoscaler string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified autoscaler resource.
 func (r *AutoscalersService) Delete(project string, zone string, autoscaler string) *AutoscalersDeleteCall {
-	c := &AutoscalersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersDeleteCall) Fields(s ...googleapi.Field) *AutoscalersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersDeleteCall) Context(ctx context.Context) *AutoscalersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9192,9 +9248,13 @@
 
 func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -9290,29 +9350,28 @@
 // method id "compute.autoscalers.get":
 
 type AutoscalersGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	autoscaler   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	zone       string
+	autoscaler string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns the specified autoscaler resource.
 func (r *AutoscalersService) Get(project string, zone string, autoscaler string) *AutoscalersGetCall {
-	c := &AutoscalersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersGetCall) Fields(s ...googleapi.Field) *AutoscalersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9322,13 +9381,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersGetCall) IfNoneMatch(entityTag string) *AutoscalersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersGetCall) Context(ctx context.Context) *AutoscalersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9336,9 +9395,13 @@
 
 func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -9346,8 +9409,8 @@
 		"autoscaler": c.autoscaler,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9442,31 +9505,31 @@
 	project    string
 	zone       string
 	autoscaler *Autoscaler
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates an autoscaler resource in the specified project using
 // the data included in the request.
 func (r *AutoscalersService) Insert(project string, zone string, autoscaler *Autoscaler) *AutoscalersInsertCall {
-	c := &AutoscalersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersInsertCall) Fields(s ...googleapi.Field) *AutoscalersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersInsertCall) Context(ctx context.Context) *AutoscalersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9479,9 +9542,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -9572,18 +9639,17 @@
 // method id "compute.autoscalers.list":
 
 type AutoscalersListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of autoscaler resources contained within the
 // specified zone.
 func (r *AutoscalersService) List(project string, zone string) *AutoscalersListCall {
-	c := &AutoscalersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -9605,14 +9671,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AutoscalersListCall) Filter(filter string) *AutoscalersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AutoscalersListCall) MaxResults(maxResults int64) *AutoscalersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9629,7 +9695,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *AutoscalersListCall) OrderBy(orderBy string) *AutoscalersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -9638,15 +9704,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AutoscalersListCall) PageToken(pageToken string) *AutoscalersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersListCall) Fields(s ...googleapi.Field) *AutoscalersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9656,13 +9722,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersListCall) IfNoneMatch(entityTag string) *AutoscalersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersListCall) Context(ctx context.Context) *AutoscalersListCall {
 	c.ctx_ = ctx
 	return c
@@ -9670,17 +9736,33 @@
 
 func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9790,8 +9872,9 @@
 	s           *Service
 	project     string
 	zone        string
+	autoscaler  string
 	autoscaler2 *Autoscaler
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -9799,25 +9882,25 @@
 // the data included in the request. This method supports patch
 // semantics.
 func (r *AutoscalersService) Patch(project string, zone string, autoscaler string, autoscaler2 *Autoscaler) *AutoscalersPatchCall {
-	c := &AutoscalersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("autoscaler", autoscaler)
+	c.autoscaler = autoscaler
 	c.autoscaler2 = autoscaler2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersPatchCall) Fields(s ...googleapi.Field) *AutoscalersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersPatchCall) Context(ctx context.Context) *AutoscalersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9830,9 +9913,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("autoscaler", fmt.Sprintf("%v", c.autoscaler))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -9935,14 +10023,14 @@
 	project    string
 	zone       string
 	autoscaler *Autoscaler
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an autoscaler resource in the specified project using
 // the data included in the request.
 func (r *AutoscalersService) Update(project string, zone string, autoscaler *Autoscaler) *AutoscalersUpdateCall {
-	c := &AutoscalersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
@@ -9952,21 +10040,21 @@
 // Autoscaler sets the optional parameter "autoscaler": Name of the
 // autoscaler resource to update.
 func (c *AutoscalersUpdateCall) Autoscaler(autoscaler string) *AutoscalersUpdateCall {
-	c.urlParams_.Set("autoscaler", autoscaler)
+	c.opt_["autoscaler"] = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersUpdateCall) Fields(s ...googleapi.Field) *AutoscalersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersUpdateCall) Context(ctx context.Context) *AutoscalersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9979,9 +10067,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["autoscaler"]; ok {
+		params.Set("autoscaler", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -10081,30 +10176,30 @@
 	s              *Service
 	project        string
 	backendService string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified BackendService resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/delete
 func (r *BackendServicesService) Delete(project string, backendService string) *BackendServicesDeleteCall {
-	c := &BackendServicesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesDeleteCall) Fields(s ...googleapi.Field) *BackendServicesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesDeleteCall) Context(ctx context.Context) *BackendServicesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -10112,9 +10207,13 @@
 
 func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -10204,25 +10303,24 @@
 	s              *Service
 	project        string
 	backendService string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified BackendService resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/get
 func (r *BackendServicesService) Get(project string, backendService string) *BackendServicesGetCall {
-	c := &BackendServicesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesGetCall) Fields(s ...googleapi.Field) *BackendServicesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10232,13 +10330,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackendServicesGetCall) IfNoneMatch(entityTag string) *BackendServicesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesGetCall) Context(ctx context.Context) *BackendServicesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10246,17 +10344,21 @@
 
 func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
 		"backendService": c.backendService,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10343,7 +10445,7 @@
 	project                string
 	backendService         string
 	resourcegroupreference *ResourceGroupReference
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -10351,24 +10453,24 @@
 // BackendService.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/getHealth
 func (r *BackendServicesService) GetHealth(project string, backendService string, resourcegroupreference *ResourceGroupReference) *BackendServicesGetHealthCall {
-	c := &BackendServicesGetHealthCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesGetHealthCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	c.resourcegroupreference = resourcegroupreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesGetHealthCall) Fields(s ...googleapi.Field) *BackendServicesGetHealthCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesGetHealthCall) Context(ctx context.Context) *BackendServicesGetHealthCall {
 	c.ctx_ = ctx
 	return c
@@ -10381,9 +10483,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}/getHealth")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -10477,7 +10583,7 @@
 	s              *Service
 	project        string
 	backendservice *BackendService
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -10485,23 +10591,23 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/insert
 func (r *BackendServicesService) Insert(project string, backendservice *BackendService) *BackendServicesInsertCall {
-	c := &BackendServicesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendservice = backendservice
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesInsertCall) Fields(s ...googleapi.Field) *BackendServicesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesInsertCall) Context(ctx context.Context) *BackendServicesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -10514,9 +10620,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -10598,18 +10708,17 @@
 // method id "compute.backendServices.list":
 
 type BackendServicesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of BackendService resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/list
 func (r *BackendServicesService) List(project string) *BackendServicesListCall {
-	c := &BackendServicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -10630,14 +10739,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *BackendServicesListCall) Filter(filter string) *BackendServicesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *BackendServicesListCall) MaxResults(maxResults int64) *BackendServicesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10654,7 +10763,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *BackendServicesListCall) OrderBy(orderBy string) *BackendServicesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -10663,15 +10772,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *BackendServicesListCall) PageToken(pageToken string) *BackendServicesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesListCall) Fields(s ...googleapi.Field) *BackendServicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10681,13 +10790,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackendServicesListCall) IfNoneMatch(entityTag string) *BackendServicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesListCall) Context(ctx context.Context) *BackendServicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10695,16 +10804,32 @@
 
 func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10807,7 +10932,7 @@
 	project        string
 	backendService string
 	backendservice *BackendService
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -10815,24 +10940,24 @@
 // method supports patch semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/patch
 func (r *BackendServicesService) Patch(project string, backendService string, backendservice *BackendService) *BackendServicesPatchCall {
-	c := &BackendServicesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	c.backendservice = backendservice
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesPatchCall) Fields(s ...googleapi.Field) *BackendServicesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesPatchCall) Context(ctx context.Context) *BackendServicesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10845,9 +10970,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -10942,31 +11071,31 @@
 	project        string
 	backendService string
 	backendservice *BackendService
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Update the entire content of the BackendService resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/update
 func (r *BackendServicesService) Update(project string, backendService string, backendservice *BackendService) *BackendServicesUpdateCall {
-	c := &BackendServicesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	c.backendservice = backendservice
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesUpdateCall) Fields(s ...googleapi.Field) *BackendServicesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesUpdateCall) Context(ctx context.Context) *BackendServicesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10979,9 +11108,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -11072,18 +11205,17 @@
 // method id "compute.diskTypes.aggregatedList":
 
 type DiskTypesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of disk type resources grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/diskTypes/aggregatedList
 func (r *DiskTypesService) AggregatedList(project string) *DiskTypesAggregatedListCall {
-	c := &DiskTypesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DiskTypesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -11104,14 +11236,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DiskTypesAggregatedListCall) Filter(filter string) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DiskTypesAggregatedListCall) MaxResults(maxResults int64) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11128,7 +11260,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *DiskTypesAggregatedListCall) OrderBy(orderBy string) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -11137,15 +11269,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DiskTypesAggregatedListCall) PageToken(pageToken string) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DiskTypesAggregatedListCall) Fields(s ...googleapi.Field) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11155,13 +11287,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DiskTypesAggregatedListCall) IfNoneMatch(entityTag string) *DiskTypesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DiskTypesAggregatedListCall) Context(ctx context.Context) *DiskTypesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -11169,16 +11301,32 @@
 
 func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/diskTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11277,30 +11425,29 @@
 // method id "compute.diskTypes.get":
 
 type DiskTypesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	diskType     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	zone     string
+	diskType string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified disk type resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/diskTypes/get
 func (r *DiskTypesService) Get(project string, zone string, diskType string) *DiskTypesGetCall {
-	c := &DiskTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DiskTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.diskType = diskType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DiskTypesGetCall) Fields(s ...googleapi.Field) *DiskTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11310,13 +11457,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DiskTypesGetCall) IfNoneMatch(entityTag string) *DiskTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DiskTypesGetCall) Context(ctx context.Context) *DiskTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11324,9 +11471,13 @@
 
 func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/diskTypes/{diskType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -11334,8 +11485,8 @@
 		"diskType": c.diskType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11426,19 +11577,18 @@
 // method id "compute.diskTypes.list":
 
 type DiskTypesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of disk type resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/diskTypes/list
 func (r *DiskTypesService) List(project string, zone string) *DiskTypesListCall {
-	c := &DiskTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DiskTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -11460,14 +11610,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DiskTypesListCall) Filter(filter string) *DiskTypesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DiskTypesListCall) MaxResults(maxResults int64) *DiskTypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11484,7 +11634,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *DiskTypesListCall) OrderBy(orderBy string) *DiskTypesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -11493,15 +11643,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DiskTypesListCall) PageToken(pageToken string) *DiskTypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DiskTypesListCall) Fields(s ...googleapi.Field) *DiskTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11511,13 +11661,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DiskTypesListCall) IfNoneMatch(entityTag string) *DiskTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DiskTypesListCall) Context(ctx context.Context) *DiskTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11525,17 +11675,33 @@
 
 func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/diskTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11642,17 +11808,16 @@
 // method id "compute.disks.aggregatedList":
 
 type DisksAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of disks grouped by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/aggregatedList
 func (r *DisksService) AggregatedList(project string) *DisksAggregatedListCall {
-	c := &DisksAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -11673,14 +11838,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DisksAggregatedListCall) Filter(filter string) *DisksAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DisksAggregatedListCall) MaxResults(maxResults int64) *DisksAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11697,7 +11862,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *DisksAggregatedListCall) OrderBy(orderBy string) *DisksAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -11706,15 +11871,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DisksAggregatedListCall) PageToken(pageToken string) *DisksAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksAggregatedListCall) Fields(s ...googleapi.Field) *DisksAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11724,13 +11889,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DisksAggregatedListCall) IfNoneMatch(entityTag string) *DisksAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksAggregatedListCall) Context(ctx context.Context) *DisksAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -11738,16 +11903,32 @@
 
 func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/disks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11846,19 +12027,19 @@
 // method id "compute.disks.createSnapshot":
 
 type DisksCreateSnapshotCall struct {
-	s          *Service
-	project    string
-	zone       string
-	disk       string
-	snapshot   *Snapshot
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	disk     string
+	snapshot *Snapshot
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // CreateSnapshot: Creates a snapshot of this disk.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/createSnapshot
 func (r *DisksService) CreateSnapshot(project string, zone string, disk string, snapshot *Snapshot) *DisksCreateSnapshotCall {
-	c := &DisksCreateSnapshotCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksCreateSnapshotCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
@@ -11866,17 +12047,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksCreateSnapshotCall) Fields(s ...googleapi.Field) *DisksCreateSnapshotCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksCreateSnapshotCall) Context(ctx context.Context) *DisksCreateSnapshotCall {
 	c.ctx_ = ctx
 	return c
@@ -11889,9 +12070,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}/createSnapshot")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -11991,12 +12176,12 @@
 // method id "compute.disks.delete":
 
 type DisksDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	disk       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	zone    string
+	disk    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified persistent disk. Deleting a disk
@@ -12005,24 +12190,24 @@
 // must separately delete snapshots.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/delete
 func (r *DisksService) Delete(project string, zone string, disk string) *DisksDeleteCall {
-	c := &DisksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksDeleteCall) Fields(s ...googleapi.Field) *DisksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksDeleteCall) Context(ctx context.Context) *DisksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -12030,9 +12215,13 @@
 
 func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -12128,30 +12317,29 @@
 // method id "compute.disks.get":
 
 type DisksGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	disk         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	disk    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns a specified persistent disk.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/get
 func (r *DisksService) Get(project string, zone string, disk string) *DisksGetCall {
-	c := &DisksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksGetCall) Fields(s ...googleapi.Field) *DisksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12161,13 +12349,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DisksGetCall) IfNoneMatch(entityTag string) *DisksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksGetCall) Context(ctx context.Context) *DisksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12175,9 +12363,13 @@
 
 func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -12185,8 +12377,8 @@
 		"disk":    c.disk,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12277,19 +12469,19 @@
 // method id "compute.disks.insert":
 
 type DisksInsertCall struct {
-	s          *Service
-	project    string
-	zone       string
-	disk       *Disk
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	zone    string
+	disk    *Disk
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a persistent disk in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/insert
 func (r *DisksService) Insert(project string, zone string, disk *Disk) *DisksInsertCall {
-	c := &DisksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
@@ -12299,21 +12491,21 @@
 // SourceImage sets the optional parameter "sourceImage": Source image
 // to restore onto a disk.
 func (c *DisksInsertCall) SourceImage(sourceImage string) *DisksInsertCall {
-	c.urlParams_.Set("sourceImage", sourceImage)
+	c.opt_["sourceImage"] = sourceImage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksInsertCall) Fields(s ...googleapi.Field) *DisksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksInsertCall) Context(ctx context.Context) *DisksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12326,9 +12518,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["sourceImage"]; ok {
+		params.Set("sourceImage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -12424,19 +12623,18 @@
 // method id "compute.disks.list":
 
 type DisksListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of persistent disks contained within the
 // specified zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/list
 func (r *DisksService) List(project string, zone string) *DisksListCall {
-	c := &DisksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -12458,14 +12656,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DisksListCall) Filter(filter string) *DisksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DisksListCall) MaxResults(maxResults int64) *DisksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12482,7 +12680,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *DisksListCall) OrderBy(orderBy string) *DisksListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -12491,15 +12689,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DisksListCall) PageToken(pageToken string) *DisksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksListCall) Fields(s ...googleapi.Field) *DisksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12509,13 +12707,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DisksListCall) IfNoneMatch(entityTag string) *DisksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksListCall) Context(ctx context.Context) *DisksListCall {
 	c.ctx_ = ctx
 	return c
@@ -12523,17 +12721,33 @@
 
 func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12640,33 +12854,33 @@
 // method id "compute.firewalls.delete":
 
 type FirewallsDeleteCall struct {
-	s          *Service
-	project    string
-	firewall   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	firewall string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified firewall resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/delete
 func (r *FirewallsService) Delete(project string, firewall string) *FirewallsDeleteCall {
-	c := &FirewallsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsDeleteCall) Fields(s ...googleapi.Field) *FirewallsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsDeleteCall) Context(ctx context.Context) *FirewallsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -12674,9 +12888,13 @@
 
 func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -12763,28 +12981,27 @@
 // method id "compute.firewalls.get":
 
 type FirewallsGetCall struct {
-	s            *Service
-	project      string
-	firewall     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	firewall string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified firewall resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/get
 func (r *FirewallsService) Get(project string, firewall string) *FirewallsGetCall {
-	c := &FirewallsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsGetCall) Fields(s ...googleapi.Field) *FirewallsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12794,13 +13011,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FirewallsGetCall) IfNoneMatch(entityTag string) *FirewallsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsGetCall) Context(ctx context.Context) *FirewallsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12808,17 +13025,21 @@
 
 func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"firewall": c.firewall,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12901,34 +13122,34 @@
 // method id "compute.firewalls.insert":
 
 type FirewallsInsertCall struct {
-	s          *Service
-	project    string
-	firewall   *Firewall
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	firewall *Firewall
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a firewall resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/insert
 func (r *FirewallsService) Insert(project string, firewall *Firewall) *FirewallsInsertCall {
-	c := &FirewallsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsInsertCall) Fields(s ...googleapi.Field) *FirewallsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsInsertCall) Context(ctx context.Context) *FirewallsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12941,9 +13162,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -13025,18 +13250,17 @@
 // method id "compute.firewalls.list":
 
 type FirewallsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of firewall resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/list
 func (r *FirewallsService) List(project string) *FirewallsListCall {
-	c := &FirewallsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -13057,14 +13281,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *FirewallsListCall) Filter(filter string) *FirewallsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *FirewallsListCall) MaxResults(maxResults int64) *FirewallsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13081,7 +13305,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *FirewallsListCall) OrderBy(orderBy string) *FirewallsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -13090,15 +13314,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *FirewallsListCall) PageToken(pageToken string) *FirewallsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsListCall) Fields(s ...googleapi.Field) *FirewallsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13108,13 +13332,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FirewallsListCall) IfNoneMatch(entityTag string) *FirewallsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsListCall) Context(ctx context.Context) *FirewallsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13122,16 +13346,32 @@
 
 func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13230,36 +13470,36 @@
 // method id "compute.firewalls.patch":
 
 type FirewallsPatchCall struct {
-	s          *Service
-	project    string
-	firewall   string
-	firewall2  *Firewall
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	firewall  string
+	firewall2 *Firewall
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates the specified firewall resource with the data included
 // in the request. This method supports patch semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/patch
 func (r *FirewallsService) Patch(project string, firewall string, firewall2 *Firewall) *FirewallsPatchCall {
-	c := &FirewallsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	c.firewall2 = firewall2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsPatchCall) Fields(s ...googleapi.Field) *FirewallsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsPatchCall) Context(ctx context.Context) *FirewallsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -13272,9 +13512,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -13365,36 +13609,36 @@
 // method id "compute.firewalls.update":
 
 type FirewallsUpdateCall struct {
-	s          *Service
-	project    string
-	firewall   string
-	firewall2  *Firewall
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	firewall  string
+	firewall2 *Firewall
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates the specified firewall resource with the data
 // included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/update
 func (r *FirewallsService) Update(project string, firewall string, firewall2 *Firewall) *FirewallsUpdateCall {
-	c := &FirewallsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	c.firewall2 = firewall2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsUpdateCall) Fields(s ...googleapi.Field) *FirewallsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsUpdateCall) Context(ctx context.Context) *FirewallsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13407,9 +13651,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -13500,18 +13748,17 @@
 // method id "compute.forwardingRules.aggregatedList":
 
 type ForwardingRulesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of forwarding rules grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/aggregatedList
 func (r *ForwardingRulesService) AggregatedList(project string) *ForwardingRulesAggregatedListCall {
-	c := &ForwardingRulesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -13532,14 +13779,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ForwardingRulesAggregatedListCall) Filter(filter string) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ForwardingRulesAggregatedListCall) MaxResults(maxResults int64) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13556,7 +13803,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *ForwardingRulesAggregatedListCall) OrderBy(orderBy string) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -13565,15 +13812,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ForwardingRulesAggregatedListCall) PageToken(pageToken string) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesAggregatedListCall) Fields(s ...googleapi.Field) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13583,13 +13830,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ForwardingRulesAggregatedListCall) IfNoneMatch(entityTag string) *ForwardingRulesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesAggregatedListCall) Context(ctx context.Context) *ForwardingRulesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -13597,16 +13844,32 @@
 
 func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13709,31 +13972,31 @@
 	project        string
 	region         string
 	forwardingRule string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/delete
 func (r *ForwardingRulesService) Delete(project string, region string, forwardingRule string) *ForwardingRulesDeleteCall {
-	c := &ForwardingRulesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesDeleteCall) Fields(s ...googleapi.Field) *ForwardingRulesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesDeleteCall) Context(ctx context.Context) *ForwardingRulesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13741,9 +14004,13 @@
 
 func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -13843,26 +14110,25 @@
 	project        string
 	region         string
 	forwardingRule string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/get
 func (r *ForwardingRulesService) Get(project string, region string, forwardingRule string) *ForwardingRulesGetCall {
-	c := &ForwardingRulesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesGetCall) Fields(s ...googleapi.Field) *ForwardingRulesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13872,13 +14138,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ForwardingRulesGetCall) IfNoneMatch(entityTag string) *ForwardingRulesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesGetCall) Context(ctx context.Context) *ForwardingRulesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13886,9 +14152,13 @@
 
 func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -13896,8 +14166,8 @@
 		"forwardingRule": c.forwardingRule,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13992,7 +14262,7 @@
 	project        string
 	region         string
 	forwardingrule *ForwardingRule
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -14000,24 +14270,24 @@
 // and region using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/insert
 func (r *ForwardingRulesService) Insert(project string, region string, forwardingrule *ForwardingRule) *ForwardingRulesInsertCall {
-	c := &ForwardingRulesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingrule = forwardingrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesInsertCall) Fields(s ...googleapi.Field) *ForwardingRulesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesInsertCall) Context(ctx context.Context) *ForwardingRulesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14030,9 +14300,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -14123,19 +14397,18 @@
 // method id "compute.forwardingRules.list":
 
 type ForwardingRulesListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of ForwardingRule resources available to the
 // specified project and region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/list
 func (r *ForwardingRulesService) List(project string, region string) *ForwardingRulesListCall {
-	c := &ForwardingRulesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -14157,14 +14430,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ForwardingRulesListCall) Filter(filter string) *ForwardingRulesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ForwardingRulesListCall) MaxResults(maxResults int64) *ForwardingRulesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14181,7 +14454,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *ForwardingRulesListCall) OrderBy(orderBy string) *ForwardingRulesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -14190,15 +14463,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ForwardingRulesListCall) PageToken(pageToken string) *ForwardingRulesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesListCall) Fields(s ...googleapi.Field) *ForwardingRulesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14208,13 +14481,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ForwardingRulesListCall) IfNoneMatch(entityTag string) *ForwardingRulesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesListCall) Context(ctx context.Context) *ForwardingRulesListCall {
 	c.ctx_ = ctx
 	return c
@@ -14222,17 +14495,33 @@
 
 func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14344,14 +14633,14 @@
 	region          string
 	forwardingRule  string
 	targetreference *TargetReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetTarget: Changes target url for forwarding rule.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/setTarget
 func (r *ForwardingRulesService) SetTarget(project string, region string, forwardingRule string, targetreference *TargetReference) *ForwardingRulesSetTargetCall {
-	c := &ForwardingRulesSetTargetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesSetTargetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingRule = forwardingRule
@@ -14359,17 +14648,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesSetTargetCall) Fields(s ...googleapi.Field) *ForwardingRulesSetTargetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesSetTargetCall) Context(ctx context.Context) *ForwardingRulesSetTargetCall {
 	c.ctx_ = ctx
 	return c
@@ -14382,9 +14671,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -14484,33 +14777,33 @@
 // method id "compute.globalAddresses.delete":
 
 type GlobalAddressesDeleteCall struct {
-	s          *Service
-	project    string
-	address    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/delete
 func (r *GlobalAddressesService) Delete(project string, address string) *GlobalAddressesDeleteCall {
-	c := &GlobalAddressesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesDeleteCall) Fields(s ...googleapi.Field) *GlobalAddressesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesDeleteCall) Context(ctx context.Context) *GlobalAddressesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -14518,9 +14811,13 @@
 
 func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -14607,28 +14904,27 @@
 // method id "compute.globalAddresses.get":
 
 type GlobalAddressesGetCall struct {
-	s            *Service
-	project      string
-	address      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/get
 func (r *GlobalAddressesService) Get(project string, address string) *GlobalAddressesGetCall {
-	c := &GlobalAddressesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesGetCall) Fields(s ...googleapi.Field) *GlobalAddressesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14638,13 +14934,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAddressesGetCall) IfNoneMatch(entityTag string) *GlobalAddressesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesGetCall) Context(ctx context.Context) *GlobalAddressesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -14652,17 +14948,21 @@
 
 func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"address": c.address,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14745,34 +15045,34 @@
 // method id "compute.globalAddresses.insert":
 
 type GlobalAddressesInsertCall struct {
-	s          *Service
-	project    string
-	address    *Address
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	address *Address
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates an address resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/insert
 func (r *GlobalAddressesService) Insert(project string, address *Address) *GlobalAddressesInsertCall {
-	c := &GlobalAddressesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesInsertCall) Fields(s ...googleapi.Field) *GlobalAddressesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesInsertCall) Context(ctx context.Context) *GlobalAddressesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14785,9 +15085,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -14869,17 +15173,16 @@
 // method id "compute.globalAddresses.list":
 
 type GlobalAddressesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of global address resources.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/list
 func (r *GlobalAddressesService) List(project string) *GlobalAddressesListCall {
-	c := &GlobalAddressesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -14900,14 +15203,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalAddressesListCall) Filter(filter string) *GlobalAddressesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalAddressesListCall) MaxResults(maxResults int64) *GlobalAddressesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14924,7 +15227,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalAddressesListCall) OrderBy(orderBy string) *GlobalAddressesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -14933,15 +15236,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalAddressesListCall) PageToken(pageToken string) *GlobalAddressesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesListCall) Fields(s ...googleapi.Field) *GlobalAddressesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14951,13 +15254,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAddressesListCall) IfNoneMatch(entityTag string) *GlobalAddressesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesListCall) Context(ctx context.Context) *GlobalAddressesListCall {
 	c.ctx_ = ctx
 	return c
@@ -14965,16 +15268,32 @@
 
 func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15076,30 +15395,30 @@
 	s              *Service
 	project        string
 	forwardingRule string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/delete
 func (r *GlobalForwardingRulesService) Delete(project string, forwardingRule string) *GlobalForwardingRulesDeleteCall {
-	c := &GlobalForwardingRulesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesDeleteCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesDeleteCall) Context(ctx context.Context) *GlobalForwardingRulesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -15107,9 +15426,13 @@
 
 func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -15199,25 +15522,24 @@
 	s              *Service
 	project        string
 	forwardingRule string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/get
 func (r *GlobalForwardingRulesService) Get(project string, forwardingRule string) *GlobalForwardingRulesGetCall {
-	c := &GlobalForwardingRulesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesGetCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15227,13 +15549,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalForwardingRulesGetCall) IfNoneMatch(entityTag string) *GlobalForwardingRulesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesGetCall) Context(ctx context.Context) *GlobalForwardingRulesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -15241,17 +15563,21 @@
 
 func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
 		"forwardingRule": c.forwardingRule,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15337,7 +15663,7 @@
 	s              *Service
 	project        string
 	forwardingrule *ForwardingRule
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -15345,23 +15671,23 @@
 // and region using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/insert
 func (r *GlobalForwardingRulesService) Insert(project string, forwardingrule *ForwardingRule) *GlobalForwardingRulesInsertCall {
-	c := &GlobalForwardingRulesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingrule = forwardingrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesInsertCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesInsertCall) Context(ctx context.Context) *GlobalForwardingRulesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15374,9 +15700,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -15458,18 +15788,17 @@
 // method id "compute.globalForwardingRules.list":
 
 type GlobalForwardingRulesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of ForwardingRule resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/list
 func (r *GlobalForwardingRulesService) List(project string) *GlobalForwardingRulesListCall {
-	c := &GlobalForwardingRulesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -15490,14 +15819,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalForwardingRulesListCall) Filter(filter string) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalForwardingRulesListCall) MaxResults(maxResults int64) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -15514,7 +15843,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalForwardingRulesListCall) OrderBy(orderBy string) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -15523,15 +15852,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalForwardingRulesListCall) PageToken(pageToken string) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesListCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15541,13 +15870,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalForwardingRulesListCall) IfNoneMatch(entityTag string) *GlobalForwardingRulesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesListCall) Context(ctx context.Context) *GlobalForwardingRulesListCall {
 	c.ctx_ = ctx
 	return c
@@ -15555,16 +15884,32 @@
 
 func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15667,31 +16012,31 @@
 	project         string
 	forwardingRule  string
 	targetreference *TargetReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetTarget: Changes target url for forwarding rule.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/setTarget
 func (r *GlobalForwardingRulesService) SetTarget(project string, forwardingRule string, targetreference *TargetReference) *GlobalForwardingRulesSetTargetCall {
-	c := &GlobalForwardingRulesSetTargetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesSetTargetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingRule = forwardingRule
 	c.targetreference = targetreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesSetTargetCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesSetTargetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesSetTargetCall) Context(ctx context.Context) *GlobalForwardingRulesSetTargetCall {
 	c.ctx_ = ctx
 	return c
@@ -15704,9 +16049,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}/setTarget")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -15797,18 +16146,17 @@
 // method id "compute.globalOperations.aggregatedList":
 
 type GlobalOperationsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of all operations grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/aggregatedList
 func (r *GlobalOperationsService) AggregatedList(project string) *GlobalOperationsAggregatedListCall {
-	c := &GlobalOperationsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -15829,14 +16177,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalOperationsAggregatedListCall) Filter(filter string) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalOperationsAggregatedListCall) MaxResults(maxResults int64) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -15853,7 +16201,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalOperationsAggregatedListCall) OrderBy(orderBy string) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -15862,15 +16210,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalOperationsAggregatedListCall) PageToken(pageToken string) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsAggregatedListCall) Fields(s ...googleapi.Field) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15880,13 +16228,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalOperationsAggregatedListCall) IfNoneMatch(entityTag string) *GlobalOperationsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsAggregatedListCall) Context(ctx context.Context) *GlobalOperationsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -15894,16 +16242,32 @@
 
 func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16002,33 +16366,33 @@
 // method id "compute.globalOperations.delete":
 
 type GlobalOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/delete
 func (r *GlobalOperationsService) Delete(project string, operation string) *GlobalOperationsDeleteCall {
-	c := &GlobalOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsDeleteCall) Fields(s ...googleapi.Field) *GlobalOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsDeleteCall) Context(ctx context.Context) *GlobalOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -16036,9 +16400,13 @@
 
 func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -16098,28 +16466,27 @@
 // method id "compute.globalOperations.get":
 
 type GlobalOperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/get
 func (r *GlobalOperationsService) Get(project string, operation string) *GlobalOperationsGetCall {
-	c := &GlobalOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsGetCall) Fields(s ...googleapi.Field) *GlobalOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16129,13 +16496,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalOperationsGetCall) IfNoneMatch(entityTag string) *GlobalOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsGetCall) Context(ctx context.Context) *GlobalOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -16143,17 +16510,21 @@
 
 func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16236,18 +16607,17 @@
 // method id "compute.globalOperations.list":
 
 type GlobalOperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/list
 func (r *GlobalOperationsService) List(project string) *GlobalOperationsListCall {
-	c := &GlobalOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -16268,14 +16638,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalOperationsListCall) Filter(filter string) *GlobalOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalOperationsListCall) MaxResults(maxResults int64) *GlobalOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16292,7 +16662,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *GlobalOperationsListCall) OrderBy(orderBy string) *GlobalOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -16301,15 +16671,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalOperationsListCall) PageToken(pageToken string) *GlobalOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsListCall) Fields(s ...googleapi.Field) *GlobalOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16319,13 +16689,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalOperationsListCall) IfNoneMatch(entityTag string) *GlobalOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsListCall) Context(ctx context.Context) *GlobalOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -16333,16 +16703,32 @@
 
 func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16444,30 +16830,30 @@
 	s               *Service
 	project         string
 	httpHealthCheck string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes the specified HttpHealthCheck resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/delete
 func (r *HttpHealthChecksService) Delete(project string, httpHealthCheck string) *HttpHealthChecksDeleteCall {
-	c := &HttpHealthChecksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpHealthChecksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksDeleteCall) Context(ctx context.Context) *HttpHealthChecksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -16475,9 +16861,13 @@
 
 func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -16567,25 +16957,24 @@
 	s               *Service
 	project         string
 	httpHealthCheck string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Returns the specified HttpHealthCheck resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/get
 func (r *HttpHealthChecksService) Get(project string, httpHealthCheck string) *HttpHealthChecksGetCall {
-	c := &HttpHealthChecksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpHealthChecksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16595,13 +16984,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *HttpHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpHealthChecksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksGetCall) Context(ctx context.Context) *HttpHealthChecksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -16609,17 +16998,21 @@
 
 func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
 		"httpHealthCheck": c.httpHealthCheck,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16705,7 +17098,7 @@
 	s               *Service
 	project         string
 	httphealthcheck *HttpHealthCheck
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -16713,23 +17106,23 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/insert
 func (r *HttpHealthChecksService) Insert(project string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksInsertCall {
-	c := &HttpHealthChecksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httphealthcheck = httphealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpHealthChecksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksInsertCall) Context(ctx context.Context) *HttpHealthChecksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -16742,9 +17135,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -16826,18 +17223,17 @@
 // method id "compute.httpHealthChecks.list":
 
 type HttpHealthChecksListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of HttpHealthCheck resources available to
 // the specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/list
 func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall {
-	c := &HttpHealthChecksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -16858,14 +17254,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *HttpHealthChecksListCall) MaxResults(maxResults int64) *HttpHealthChecksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16882,7 +17278,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *HttpHealthChecksListCall) OrderBy(orderBy string) *HttpHealthChecksListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -16891,15 +17287,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *HttpHealthChecksListCall) PageToken(pageToken string) *HttpHealthChecksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksListCall) Fields(s ...googleapi.Field) *HttpHealthChecksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16909,13 +17305,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *HttpHealthChecksListCall) IfNoneMatch(entityTag string) *HttpHealthChecksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksListCall) Context(ctx context.Context) *HttpHealthChecksListCall {
 	c.ctx_ = ctx
 	return c
@@ -16923,16 +17319,32 @@
 
 func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17035,7 +17447,7 @@
 	project         string
 	httpHealthCheck string
 	httphealthcheck *HttpHealthCheck
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -17044,24 +17456,24 @@
 // semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/patch
 func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksPatchCall {
-	c := &HttpHealthChecksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	c.httphealthcheck = httphealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpHealthChecksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksPatchCall) Context(ctx context.Context) *HttpHealthChecksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -17074,9 +17486,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -17171,7 +17587,7 @@
 	project         string
 	httpHealthCheck string
 	httphealthcheck *HttpHealthCheck
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -17179,24 +17595,24 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/update
 func (r *HttpHealthChecksService) Update(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksUpdateCall {
-	c := &HttpHealthChecksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	c.httphealthcheck = httphealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpHealthChecksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksUpdateCall) Context(ctx context.Context) *HttpHealthChecksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -17209,9 +17625,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -17305,29 +17725,29 @@
 	s                *Service
 	project          string
 	httpsHealthCheck string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Deletes the specified HttpsHealthCheck resource.
 func (r *HttpsHealthChecksService) Delete(project string, httpsHealthCheck string) *HttpsHealthChecksDeleteCall {
-	c := &HttpsHealthChecksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpsHealthChecksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpsHealthCheck = httpsHealthCheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpsHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpsHealthChecksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpsHealthChecksDeleteCall) Context(ctx context.Context) *HttpsHealthChecksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -17335,9 +17755,13 @@
 
 func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -17427,24 +17851,23 @@
 	s                *Service
 	project          string
 	httpsHealthCheck string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Returns the specified HttpsHealthCheck resource.
 func (r *HttpsHealthChecksService) Get(project string, httpsHealthCheck string) *HttpsHealthChecksGetCall {
-	c := &HttpsHealthChecksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpsHealthChecksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpsHealthCheck = httpsHealthCheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpsHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpsHealthChecksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17454,13 +17877,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *HttpsHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpsHealthChecksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpsHealthChecksGetCall) Context(ctx context.Context) *HttpsHealthChecksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17468,17 +17891,21 @@
 
 func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
 		"httpsHealthCheck": c.httpsHealthCheck,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17564,30 +17991,30 @@
 	s                *Service
 	project          string
 	httpshealthcheck *HttpsHealthCheck
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Insert: Creates a HttpsHealthCheck resource in the specified project
 // using the data included in the request.
 func (r *HttpsHealthChecksService) Insert(project string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksInsertCall {
-	c := &HttpsHealthChecksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpsHealthChecksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpshealthcheck = httpshealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpsHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpsHealthChecksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpsHealthChecksInsertCall) Context(ctx context.Context) *HttpsHealthChecksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17600,9 +18027,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -17684,17 +18115,16 @@
 // method id "compute.httpsHealthChecks.list":
 
 type HttpsHealthChecksListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of HttpsHealthCheck resources available to
 // the specified project.
 func (r *HttpsHealthChecksService) List(project string) *HttpsHealthChecksListCall {
-	c := &HttpsHealthChecksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpsHealthChecksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -17715,14 +18145,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *HttpsHealthChecksListCall) Filter(filter string) *HttpsHealthChecksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *HttpsHealthChecksListCall) MaxResults(maxResults int64) *HttpsHealthChecksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -17739,7 +18169,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *HttpsHealthChecksListCall) OrderBy(orderBy string) *HttpsHealthChecksListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -17748,15 +18178,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *HttpsHealthChecksListCall) PageToken(pageToken string) *HttpsHealthChecksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpsHealthChecksListCall) Fields(s ...googleapi.Field) *HttpsHealthChecksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17766,13 +18196,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *HttpsHealthChecksListCall) IfNoneMatch(entityTag string) *HttpsHealthChecksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpsHealthChecksListCall) Context(ctx context.Context) *HttpsHealthChecksListCall {
 	c.ctx_ = ctx
 	return c
@@ -17780,16 +18210,32 @@
 
 func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17892,7 +18338,7 @@
 	project          string
 	httpsHealthCheck string
 	httpshealthcheck *HttpsHealthCheck
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -17900,24 +18346,24 @@
 // using the data included in the request. This method supports patch
 // semantics.
 func (r *HttpsHealthChecksService) Patch(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksPatchCall {
-	c := &HttpsHealthChecksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpsHealthChecksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpsHealthCheck = httpsHealthCheck
 	c.httpshealthcheck = httpshealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpsHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpsHealthChecksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpsHealthChecksPatchCall) Context(ctx context.Context) *HttpsHealthChecksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -17930,9 +18376,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -18027,31 +18477,31 @@
 	project          string
 	httpsHealthCheck string
 	httpshealthcheck *HttpsHealthCheck
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Update: Updates a HttpsHealthCheck resource in the specified project
 // using the data included in the request.
 func (r *HttpsHealthChecksService) Update(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksUpdateCall {
-	c := &HttpsHealthChecksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpsHealthChecksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpsHealthCheck = httpsHealthCheck
 	c.httpshealthcheck = httpshealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpsHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpsHealthChecksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpsHealthChecksUpdateCall) Context(ctx context.Context) *HttpsHealthChecksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -18064,9 +18514,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -18157,33 +18611,33 @@
 // method id "compute.images.delete":
 
 type ImagesDeleteCall struct {
-	s          *Service
-	project    string
-	image      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	image   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified image resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/delete
 func (r *ImagesService) Delete(project string, image string) *ImagesDeleteCall {
-	c := &ImagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesDeleteCall) Fields(s ...googleapi.Field) *ImagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesDeleteCall) Context(ctx context.Context) *ImagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -18191,9 +18645,13 @@
 
 func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -18284,7 +18742,7 @@
 	project           string
 	image             string
 	deprecationstatus *DeprecationStatus
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -18294,24 +18752,24 @@
 // instead.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/deprecate
 func (r *ImagesService) Deprecate(project string, image string, deprecationstatus *DeprecationStatus) *ImagesDeprecateCall {
-	c := &ImagesDeprecateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesDeprecateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	c.deprecationstatus = deprecationstatus
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesDeprecateCall) Fields(s ...googleapi.Field) *ImagesDeprecateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesDeprecateCall) Context(ctx context.Context) *ImagesDeprecateCall {
 	c.ctx_ = ctx
 	return c
@@ -18324,9 +18782,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}/deprecate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -18417,28 +18879,27 @@
 // method id "compute.images.get":
 
 type ImagesGetCall struct {
-	s            *Service
-	project      string
-	image        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	image   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified image resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/get
 func (r *ImagesService) Get(project string, image string) *ImagesGetCall {
-	c := &ImagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesGetCall) Fields(s ...googleapi.Field) *ImagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18448,13 +18909,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ImagesGetCall) IfNoneMatch(entityTag string) *ImagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesGetCall) Context(ctx context.Context) *ImagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -18462,17 +18923,21 @@
 
 func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"image":   c.image,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18555,34 +19020,34 @@
 // method id "compute.images.insert":
 
 type ImagesInsertCall struct {
-	s          *Service
-	project    string
-	image      *Image
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	image   *Image
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates an image resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/insert
 func (r *ImagesService) Insert(project string, image *Image) *ImagesInsertCall {
-	c := &ImagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesInsertCall) Fields(s ...googleapi.Field) *ImagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesInsertCall) Context(ctx context.Context) *ImagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -18595,9 +19060,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -18682,18 +19151,17 @@
 // method id "compute.images.list":
 
 type ImagesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of image resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/list
 func (r *ImagesService) List(project string) *ImagesListCall {
-	c := &ImagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -18714,14 +19182,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ImagesListCall) MaxResults(maxResults int64) *ImagesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -18738,7 +19206,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *ImagesListCall) OrderBy(orderBy string) *ImagesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -18747,15 +19215,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ImagesListCall) PageToken(pageToken string) *ImagesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesListCall) Fields(s ...googleapi.Field) *ImagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18765,13 +19233,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ImagesListCall) IfNoneMatch(entityTag string) *ImagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesListCall) Context(ctx context.Context) *ImagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -18779,16 +19247,32 @@
 
 func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18892,7 +19376,7 @@
 	zone                                         string
 	instanceGroupManager                         string
 	instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest
-	urlParams_                                   internal.URLParams
+	opt_                                         map[string]interface{}
 	ctx_                                         context.Context
 }
 
@@ -18902,7 +19386,7 @@
 // automatically reduces its targetSize value by the number of instances
 // that you abandon from the group.
 func (r *InstanceGroupManagersService) AbandonInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest) *InstanceGroupManagersAbandonInstancesCall {
-	c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -18910,17 +19394,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAbandonInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *InstanceGroupManagersAbandonInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -18933,9 +19417,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -19033,17 +19521,16 @@
 // method id "compute.instanceGroupManagers.aggregatedList":
 
 type InstanceGroupManagersAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of managed instance groups, and
 // groups them by project and zone.
 func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceGroupManagersAggregatedListCall {
-	c := &InstanceGroupManagersAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -19064,14 +19551,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupManagersAggregatedListCall) Filter(filter string) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupManagersAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -19088,7 +19575,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstanceGroupManagersAggregatedListCall) OrderBy(orderBy string) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -19097,15 +19584,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupManagersAggregatedListCall) PageToken(pageToken string) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19115,13 +19602,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersAggregatedListCall) Context(ctx context.Context) *InstanceGroupManagersAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -19129,16 +19616,32 @@
 
 func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19242,30 +19745,30 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Delete: Deletes the specified managed instance group resource.
 func (r *InstanceGroupManagersService) Delete(project string, zone string, instanceGroupManager string) *InstanceGroupManagersDeleteCall {
-	c := &InstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersDeleteCall) Context(ctx context.Context) *InstanceGroupManagersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -19273,9 +19776,13 @@
 
 func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -19374,7 +19881,7 @@
 	zone                                        string
 	instanceGroupManager                        string
 	instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest
-	urlParams_                                  internal.URLParams
+	opt_                                        map[string]interface{}
 	ctx_                                        context.Context
 }
 
@@ -19384,7 +19891,7 @@
 // reduces its targetSize value by the number of instances that you
 // delete.
 func (r *InstanceGroupManagersService) DeleteInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest) *InstanceGroupManagersDeleteInstancesCall {
-	c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -19392,17 +19899,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *InstanceGroupManagersDeleteInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -19415,9 +19922,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -19519,25 +20030,24 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
-	ifNoneMatch_         string
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Get: Returns the specified managed instance group resource.
 func (r *InstanceGroupManagersService) Get(project string, zone string, instanceGroupManager string) *InstanceGroupManagersGetCall {
-	c := &InstanceGroupManagersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19547,13 +20057,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersGetCall) Context(ctx context.Context) *InstanceGroupManagersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -19561,9 +20071,13 @@
 
 func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -19571,8 +20085,8 @@
 		"instanceGroupManager": c.instanceGroupManager,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19665,31 +20179,31 @@
 	project              string
 	zone                 string
 	instancegroupmanager *InstanceGroupManager
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Insert: Creates a managed instance group resource in the specified
 // project using the data that is included in the request.
 func (r *InstanceGroupManagersService) Insert(project string, zone string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersInsertCall {
-	c := &InstanceGroupManagersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instancegroupmanager = instancegroupmanager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersInsertCall) Context(ctx context.Context) *InstanceGroupManagersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -19702,9 +20216,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -19794,18 +20312,17 @@
 // method id "compute.instanceGroupManagers.list":
 
 type InstanceGroupManagersListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of managed instance groups that are contained
 // within the specified project and zone.
 func (r *InstanceGroupManagersService) List(project string, zone string) *InstanceGroupManagersListCall {
-	c := &InstanceGroupManagersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -19827,14 +20344,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -19851,7 +20368,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstanceGroupManagersListCall) OrderBy(orderBy string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -19860,15 +20377,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupManagersListCall) PageToken(pageToken string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19878,13 +20395,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersListCall) Context(ctx context.Context) *InstanceGroupManagersListCall {
 	c.ctx_ = ctx
 	return c
@@ -19892,17 +20409,33 @@
 
 func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20012,30 +20545,30 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // ListManagedInstances: Lists managed instances.
 func (r *InstanceGroupManagersService) ListManagedInstances(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListManagedInstancesCall {
-	c := &InstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersListManagedInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListManagedInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *InstanceGroupManagersListManagedInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -20043,9 +20576,13 @@
 
 func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -20147,7 +20684,7 @@
 	zone                                          string
 	instanceGroupManager                          string
 	instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest
-	urlParams_                                    internal.URLParams
+	opt_                                          map[string]interface{}
 	ctx_                                          context.Context
 }
 
@@ -20155,7 +20692,7 @@
 // are deleted, then recreated using the managed instance group's
 // current instance template.
 func (r *InstanceGroupManagersService) RecreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest) *InstanceGroupManagersRecreateInstancesCall {
-	c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -20163,17 +20700,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersRecreateInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersRecreateInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -20186,9 +20723,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -20290,7 +20831,8 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	size                 int64
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
@@ -20299,25 +20841,25 @@
 // If you decrease the size, the group removes instances in the order
 // that is outlined in Resizing a managed instance group.
 func (r *InstanceGroupManagersService) Resize(project string, zone string, instanceGroupManager string, size int64) *InstanceGroupManagersResizeCall {
-	c := &InstanceGroupManagersResizeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersResizeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
-	c.urlParams_.Set("size", fmt.Sprintf("%v", size))
+	c.size = size
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResizeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersResizeCall) Context(ctx context.Context) *InstanceGroupManagersResizeCall {
 	c.ctx_ = ctx
 	return c
@@ -20325,9 +20867,14 @@
 
 func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("size", fmt.Sprintf("%v", c.size))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -20434,13 +20981,13 @@
 	zone                                       string
 	instanceGroupManager                       string
 	instancegroupmanagerssetautohealingrequest *InstanceGroupManagersSetAutoHealingRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
 // SetAutoHealingPolicies: Modifies the autohealing policy.
 func (r *InstanceGroupManagersService) SetAutoHealingPolicies(project string, zone string, instanceGroupManager string, instancegroupmanagerssetautohealingrequest *InstanceGroupManagersSetAutoHealingRequest) *InstanceGroupManagersSetAutoHealingPoliciesCall {
-	c := &InstanceGroupManagersSetAutoHealingPoliciesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetAutoHealingPoliciesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -20448,17 +20995,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetAutoHealingPoliciesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetAutoHealingPoliciesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetAutoHealingPoliciesCall) Context(ctx context.Context) *InstanceGroupManagersSetAutoHealingPoliciesCall {
 	c.ctx_ = ctx
 	return c
@@ -20471,9 +21018,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -20576,7 +21127,7 @@
 	zone                                            string
 	instanceGroupManager                            string
 	instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
@@ -20584,7 +21135,7 @@
 // creating new instances in this group. The templates for existing
 // instances in the group do not change unless you recreate them.
 func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone string, instanceGroupManager string, instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest) *InstanceGroupManagersSetInstanceTemplateCall {
-	c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -20592,17 +21143,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetInstanceTemplateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *InstanceGroupManagersSetInstanceTemplateCall {
 	c.ctx_ = ctx
 	return c
@@ -20615,9 +21166,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -20720,7 +21275,7 @@
 	zone                                       string
 	instanceGroupManager                       string
 	instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
@@ -20728,7 +21283,7 @@
 // in this group are assigned. The target pools for existing instances
 // in the group do not change unless you recreate them.
 func (r *InstanceGroupManagersService) SetTargetPools(project string, zone string, instanceGroupManager string, instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest) *InstanceGroupManagersSetTargetPoolsCall {
-	c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -20736,17 +21291,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetTargetPoolsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *InstanceGroupManagersSetTargetPoolsCall {
 	c.ctx_ = ctx
 	return c
@@ -20759,9 +21314,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -20864,14 +21423,14 @@
 	zone                              string
 	instanceGroup                     string
 	instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // AddInstances: Adds a list of instances to an instance group. All of
 // the instances in the instance group must be in the same network.
 func (r *InstanceGroupsService) AddInstances(project string, zone string, instanceGroup string, instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest) *InstanceGroupsAddInstancesCall {
-	c := &InstanceGroupsAddInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsAddInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -20879,17 +21438,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsAddInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsAddInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsAddInstancesCall) Context(ctx context.Context) *InstanceGroupsAddInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -20902,9 +21461,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -21002,17 +21565,16 @@
 // method id "compute.instanceGroups.aggregatedList":
 
 type InstanceGroupsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of instance groups, and sorts them
 // by zone.
 func (r *InstanceGroupsService) AggregatedList(project string) *InstanceGroupsAggregatedListCall {
-	c := &InstanceGroupsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -21033,14 +21595,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupsAggregatedListCall) Filter(filter string) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupsAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -21057,7 +21619,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstanceGroupsAggregatedListCall) OrderBy(orderBy string) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -21066,15 +21628,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupsAggregatedListCall) PageToken(pageToken string) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21084,13 +21646,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupsAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsAggregatedListCall) Context(ctx context.Context) *InstanceGroupsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -21098,16 +21660,32 @@
 
 func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instanceGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21210,30 +21788,30 @@
 	project       string
 	zone          string
 	instanceGroup string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes the specified instance group.
 func (r *InstanceGroupsService) Delete(project string, zone string, instanceGroup string) *InstanceGroupsDeleteCall {
-	c := &InstanceGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsDeleteCall) Context(ctx context.Context) *InstanceGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -21241,9 +21819,13 @@
 
 func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -21341,25 +21923,24 @@
 	project       string
 	zone          string
 	instanceGroup string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Returns the specified instance group resource.
 func (r *InstanceGroupsService) Get(project string, zone string, instanceGroup string) *InstanceGroupsGetCall {
-	c := &InstanceGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsGetCall) Fields(s ...googleapi.Field) *InstanceGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21369,13 +21950,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupsGetCall) IfNoneMatch(entityTag string) *InstanceGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsGetCall) Context(ctx context.Context) *InstanceGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -21383,9 +21964,13 @@
 
 func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -21393,8 +21978,8 @@
 		"instanceGroup": c.instanceGroup,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21487,31 +22072,31 @@
 	project       string
 	zone          string
 	instancegroup *InstanceGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Creates an instance group in the specified project using the
 // parameters that are included in the request.
 func (r *InstanceGroupsService) Insert(project string, zone string, instancegroup *InstanceGroup) *InstanceGroupsInsertCall {
-	c := &InstanceGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instancegroup = instancegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsInsertCall) Fields(s ...googleapi.Field) *InstanceGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsInsertCall) Context(ctx context.Context) *InstanceGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -21524,9 +22109,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -21616,18 +22205,17 @@
 // method id "compute.instanceGroups.list":
 
 type InstanceGroupsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of instance groups that are located in the
 // specified project and zone.
 func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroupsListCall {
-	c := &InstanceGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -21649,14 +22237,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupsListCall) MaxResults(maxResults int64) *InstanceGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -21673,7 +22261,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstanceGroupsListCall) OrderBy(orderBy string) *InstanceGroupsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -21682,15 +22270,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupsListCall) PageToken(pageToken string) *InstanceGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsListCall) Fields(s ...googleapi.Field) *InstanceGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21700,13 +22288,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupsListCall) IfNoneMatch(entityTag string) *InstanceGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsListCall) Context(ctx context.Context) *InstanceGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -21714,17 +22302,33 @@
 
 func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21835,7 +22439,7 @@
 	zone                               string
 	instanceGroup                      string
 	instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
@@ -21843,7 +22447,7 @@
 // for this method specify whether the list filters instances by state
 // and named ports information.
 func (r *InstanceGroupsService) ListInstances(project string, zone string, instanceGroup string, instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest) *InstanceGroupsListInstancesCall {
-	c := &InstanceGroupsListInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsListInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -21867,14 +22471,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupsListInstancesCall) MaxResults(maxResults int64) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -21891,7 +22495,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstanceGroupsListInstancesCall) OrderBy(orderBy string) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -21900,21 +22504,21 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupsListInstancesCall) PageToken(pageToken string) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsListInstancesCall) Context(ctx context.Context) *InstanceGroupsListInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -21927,9 +22531,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -22057,13 +22677,13 @@
 	zone                                 string
 	instanceGroup                        string
 	instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest
-	urlParams_                           internal.URLParams
+	opt_                                 map[string]interface{}
 	ctx_                                 context.Context
 }
 
 // RemoveInstances: Removes a list of instances from an instance group.
 func (r *InstanceGroupsService) RemoveInstances(project string, zone string, instanceGroup string, instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest) *InstanceGroupsRemoveInstancesCall {
-	c := &InstanceGroupsRemoveInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsRemoveInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -22071,17 +22691,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsRemoveInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsRemoveInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsRemoveInstancesCall) Context(ctx context.Context) *InstanceGroupsRemoveInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -22094,9 +22714,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -22199,13 +22823,13 @@
 	zone                               string
 	instanceGroup                      string
 	instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
 // SetNamedPorts: Sets the named ports in an instance group.
 func (r *InstanceGroupsService) SetNamedPorts(project string, zone string, instanceGroup string, instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest) *InstanceGroupsSetNamedPortsCall {
-	c := &InstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsSetNamedPortsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -22213,17 +22837,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *InstanceGroupsSetNamedPortsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *InstanceGroupsSetNamedPortsCall {
 	c.ctx_ = ctx
 	return c
@@ -22236,9 +22860,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -22339,30 +22967,30 @@
 	s                *Service
 	project          string
 	instanceTemplate string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Deletes the specified instance template.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/delete
 func (r *InstanceTemplatesService) Delete(project string, instanceTemplate string) *InstanceTemplatesDeleteCall {
-	c := &InstanceTemplatesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instanceTemplate = instanceTemplate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesDeleteCall) Fields(s ...googleapi.Field) *InstanceTemplatesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesDeleteCall) Context(ctx context.Context) *InstanceTemplatesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -22370,9 +22998,13 @@
 
 func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates/{instanceTemplate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -22462,25 +23094,24 @@
 	s                *Service
 	project          string
 	instanceTemplate string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Returns the specified instance template resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/get
 func (r *InstanceTemplatesService) Get(project string, instanceTemplate string) *InstanceTemplatesGetCall {
-	c := &InstanceTemplatesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instanceTemplate = instanceTemplate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesGetCall) Fields(s ...googleapi.Field) *InstanceTemplatesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22490,13 +23121,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceTemplatesGetCall) IfNoneMatch(entityTag string) *InstanceTemplatesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesGetCall) Context(ctx context.Context) *InstanceTemplatesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -22504,17 +23135,21 @@
 
 func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates/{instanceTemplate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
 		"instanceTemplate": c.instanceTemplate,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22600,7 +23235,7 @@
 	s                *Service
 	project          string
 	instancetemplate *InstanceTemplate
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -22608,23 +23243,23 @@
 // the data that is included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/insert
 func (r *InstanceTemplatesService) Insert(project string, instancetemplate *InstanceTemplate) *InstanceTemplatesInsertCall {
-	c := &InstanceTemplatesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instancetemplate = instancetemplate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesInsertCall) Fields(s ...googleapi.Field) *InstanceTemplatesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesInsertCall) Context(ctx context.Context) *InstanceTemplatesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -22637,9 +23272,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -22721,18 +23360,17 @@
 // method id "compute.instanceTemplates.list":
 
 type InstanceTemplatesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of instance templates that are contained
 // within the specified project and zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/list
 func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCall {
-	c := &InstanceTemplatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -22753,14 +23391,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceTemplatesListCall) MaxResults(maxResults int64) *InstanceTemplatesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -22777,7 +23415,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstanceTemplatesListCall) OrderBy(orderBy string) *InstanceTemplatesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -22786,15 +23424,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceTemplatesListCall) PageToken(pageToken string) *InstanceTemplatesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesListCall) Fields(s ...googleapi.Field) *InstanceTemplatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22804,13 +23442,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceTemplatesListCall) IfNoneMatch(entityTag string) *InstanceTemplatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesListCall) Context(ctx context.Context) *InstanceTemplatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -22818,16 +23456,32 @@
 
 func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22926,39 +23580,40 @@
 // method id "compute.instances.addAccessConfig":
 
 type InstancesAddAccessConfigCall struct {
-	s            *Service
-	project      string
-	zone         string
-	instance     string
-	accessconfig *AccessConfig
-	urlParams_   internal.URLParams
-	ctx_         context.Context
+	s                *Service
+	project          string
+	zone             string
+	instance         string
+	networkInterface string
+	accessconfig     *AccessConfig
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // AddAccessConfig: Adds an access config to an instance's network
 // interface.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/addAccessConfig
 func (r *InstancesService) AddAccessConfig(project string, zone string, instance string, networkInterface string, accessconfig *AccessConfig) *InstancesAddAccessConfigCall {
-	c := &InstancesAddAccessConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesAddAccessConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("networkInterface", networkInterface)
+	c.networkInterface = networkInterface
 	c.accessconfig = accessconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesAddAccessConfigCall) Fields(s ...googleapi.Field) *InstancesAddAccessConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesAddAccessConfigCall) Context(ctx context.Context) *InstancesAddAccessConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -22971,9 +23626,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("networkInterface", fmt.Sprintf("%v", c.networkInterface))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/addAccessConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23080,17 +23740,16 @@
 // method id "compute.instances.aggregatedList":
 
 type InstancesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList:
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/aggregatedList
 func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedListCall {
-	c := &InstancesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -23111,14 +23770,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstancesAggregatedListCall) Filter(filter string) *InstancesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstancesAggregatedListCall) MaxResults(maxResults int64) *InstancesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -23135,7 +23794,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstancesAggregatedListCall) OrderBy(orderBy string) *InstancesAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -23144,15 +23803,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstancesAggregatedListCall) PageToken(pageToken string) *InstancesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesAggregatedListCall) Fields(s ...googleapi.Field) *InstancesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23162,13 +23821,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesAggregatedListCall) IfNoneMatch(entityTag string) *InstancesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesAggregatedListCall) Context(ctx context.Context) *InstancesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -23176,16 +23835,32 @@
 
 func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23288,14 +23963,14 @@
 	zone         string
 	instance     string
 	attacheddisk *AttachedDisk
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // AttachDisk: Attaches a Disk resource to an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/attachDisk
 func (r *InstancesService) AttachDisk(project string, zone string, instance string, attacheddisk *AttachedDisk) *InstancesAttachDiskCall {
-	c := &InstancesAttachDiskCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesAttachDiskCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -23303,17 +23978,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesAttachDiskCall) Fields(s ...googleapi.Field) *InstancesAttachDiskCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesAttachDiskCall) Context(ctx context.Context) *InstancesAttachDiskCall {
 	c.ctx_ = ctx
 	return c
@@ -23326,9 +24001,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/attachDisk")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23428,36 +24107,36 @@
 // method id "compute.instances.delete":
 
 type InstancesDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified Instance resource. For more
 // information, see Shutting down an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/delete
 func (r *InstancesService) Delete(project string, zone string, instance string) *InstancesDeleteCall {
-	c := &InstancesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -23465,9 +24144,13 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23563,38 +24246,40 @@
 // method id "compute.instances.deleteAccessConfig":
 
 type InstancesDeleteAccessConfigCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                *Service
+	project          string
+	zone             string
+	instance         string
+	accessConfig     string
+	networkInterface string
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // DeleteAccessConfig: Deletes an access config from an instance's
 // network interface.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/deleteAccessConfig
 func (r *InstancesService) DeleteAccessConfig(project string, zone string, instance string, accessConfig string, networkInterface string) *InstancesDeleteAccessConfigCall {
-	c := &InstancesDeleteAccessConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDeleteAccessConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("accessConfig", accessConfig)
-	c.urlParams_.Set("networkInterface", networkInterface)
+	c.accessConfig = accessConfig
+	c.networkInterface = networkInterface
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDeleteAccessConfigCall) Fields(s ...googleapi.Field) *InstancesDeleteAccessConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDeleteAccessConfigCall) Context(ctx context.Context) *InstancesDeleteAccessConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -23602,9 +24287,15 @@
 
 func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("accessConfig", fmt.Sprintf("%v", c.accessConfig))
+	params.Set("networkInterface", fmt.Sprintf("%v", c.networkInterface))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/deleteAccessConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23718,32 +24409,33 @@
 	project    string
 	zone       string
 	instance   string
-	urlParams_ internal.URLParams
+	deviceName string
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // DetachDisk: Detaches a disk from an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/detachDisk
 func (r *InstancesService) DetachDisk(project string, zone string, instance string, deviceName string) *InstancesDetachDiskCall {
-	c := &InstancesDetachDiskCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDetachDiskCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("deviceName", deviceName)
+	c.deviceName = deviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDetachDiskCall) Fields(s ...googleapi.Field) *InstancesDetachDiskCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDetachDiskCall) Context(ctx context.Context) *InstancesDetachDiskCall {
 	c.ctx_ = ctx
 	return c
@@ -23751,9 +24443,14 @@
 
 func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("deviceName", fmt.Sprintf("%v", c.deviceName))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/detachDisk")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23857,30 +24554,29 @@
 // method id "compute.instances.get":
 
 type InstancesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified instance resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/get
 func (r *InstancesService) Get(project string, zone string, instance string) *InstancesGetCall {
-	c := &InstancesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23890,13 +24586,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23904,9 +24600,13 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23914,8 +24614,8 @@
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24006,20 +24706,19 @@
 // method id "compute.instances.getSerialPortOutput":
 
 type InstancesGetSerialPortOutputCall struct {
-	s            *Service
-	project      string
-	zone         string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetSerialPortOutput: Returns the specified instance's serial port
 // output.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/getSerialPortOutput
 func (r *InstancesService) GetSerialPortOutput(project string, zone string, instance string) *InstancesGetSerialPortOutputCall {
-	c := &InstancesGetSerialPortOutputCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesGetSerialPortOutputCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -24029,15 +24728,15 @@
 // Port sets the optional parameter "port": Specifies which COM or
 // serial port to retrieve data from.
 func (c *InstancesGetSerialPortOutputCall) Port(port int64) *InstancesGetSerialPortOutputCall {
-	c.urlParams_.Set("port", fmt.Sprintf("%v", port))
+	c.opt_["port"] = port
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesGetSerialPortOutputCall) Fields(s ...googleapi.Field) *InstancesGetSerialPortOutputCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24047,13 +24746,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesGetSerialPortOutputCall) IfNoneMatch(entityTag string) *InstancesGetSerialPortOutputCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesGetSerialPortOutputCall) Context(ctx context.Context) *InstancesGetSerialPortOutputCall {
 	c.ctx_ = ctx
 	return c
@@ -24061,9 +24760,16 @@
 
 func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["port"]; ok {
+		params.Set("port", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/serialPort")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -24071,8 +24777,8 @@
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24172,36 +24878,36 @@
 // method id "compute.instances.insert":
 
 type InstancesInsertCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   *Instance
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance *Instance
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates an instance resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/insert
 func (r *InstancesService) Insert(project string, zone string, instance *Instance) *InstancesInsertCall {
-	c := &InstancesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -24214,9 +24920,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -24307,19 +25017,18 @@
 // method id "compute.instances.list":
 
 type InstancesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of instance resources contained within the
 // specified zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/list
 func (r *InstancesService) List(project string, zone string) *InstancesListCall {
-	c := &InstancesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -24341,14 +25050,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -24365,7 +25074,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *InstancesListCall) OrderBy(orderBy string) *InstancesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -24374,15 +25083,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24392,13 +25101,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
 	c.ctx_ = ctx
 	return c
@@ -24406,17 +25115,33 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24523,35 +25248,35 @@
 // method id "compute.instances.reset":
 
 type InstancesResetCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Reset: Performs a hard reset on the instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/reset
 func (r *InstancesService) Reset(project string, zone string, instance string) *InstancesResetCall {
-	c := &InstancesResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesResetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesResetCall) Fields(s ...googleapi.Field) *InstancesResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesResetCall) Context(ctx context.Context) *InstancesResetCall {
 	c.ctx_ = ctx
 	return c
@@ -24559,9 +25284,13 @@
 
 func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -24661,7 +25390,9 @@
 	project    string
 	zone       string
 	instance   string
-	urlParams_ internal.URLParams
+	autoDelete bool
+	deviceName string
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -24669,26 +25400,26 @@
 // an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setDiskAutoDelete
 func (r *InstancesService) SetDiskAutoDelete(project string, zone string, instance string, autoDelete bool, deviceName string) *InstancesSetDiskAutoDeleteCall {
-	c := &InstancesSetDiskAutoDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetDiskAutoDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("autoDelete", fmt.Sprintf("%v", autoDelete))
-	c.urlParams_.Set("deviceName", deviceName)
+	c.autoDelete = autoDelete
+	c.deviceName = deviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetDiskAutoDeleteCall) Fields(s ...googleapi.Field) *InstancesSetDiskAutoDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetDiskAutoDeleteCall) Context(ctx context.Context) *InstancesSetDiskAutoDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -24696,9 +25427,15 @@
 
 func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("autoDelete", fmt.Sprintf("%v", c.autoDelete))
+	params.Set("deviceName", fmt.Sprintf("%v", c.deviceName))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -24809,20 +25546,20 @@
 // method id "compute.instances.setMetadata":
 
 type InstancesSetMetadataCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	metadata   *Metadata
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	metadata *Metadata
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetMetadata: Sets metadata for the specified instance to the data
 // included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setMetadata
 func (r *InstancesService) SetMetadata(project string, zone string, instance string, metadata *Metadata) *InstancesSetMetadataCall {
-	c := &InstancesSetMetadataCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetMetadataCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -24830,17 +25567,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetMetadataCall) Fields(s ...googleapi.Field) *InstancesSetMetadataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetMetadataCall) Context(ctx context.Context) *InstancesSetMetadataCall {
 	c.ctx_ = ctx
 	return c
@@ -24853,9 +25590,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setMetadata")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -24960,14 +25701,14 @@
 	zone       string
 	instance   string
 	scheduling *Scheduling
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // SetScheduling: Sets an instance's scheduling options.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setScheduling
 func (r *InstancesService) SetScheduling(project string, zone string, instance string, scheduling *Scheduling) *InstancesSetSchedulingCall {
-	c := &InstancesSetSchedulingCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetSchedulingCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -24975,17 +25716,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetSchedulingCall) Fields(s ...googleapi.Field) *InstancesSetSchedulingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetSchedulingCall) Context(ctx context.Context) *InstancesSetSchedulingCall {
 	c.ctx_ = ctx
 	return c
@@ -24998,9 +25739,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setScheduling")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -25100,20 +25845,20 @@
 // method id "compute.instances.setTags":
 
 type InstancesSetTagsCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	tags       *Tags
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	tags     *Tags
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetTags: Sets tags for the specified instance to the data included in
 // the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setTags
 func (r *InstancesService) SetTags(project string, zone string, instance string, tags *Tags) *InstancesSetTagsCall {
-	c := &InstancesSetTagsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetTagsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -25121,17 +25866,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetTagsCall) Fields(s ...googleapi.Field) *InstancesSetTagsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetTagsCall) Context(ctx context.Context) *InstancesSetTagsCall {
 	c.ctx_ = ctx
 	return c
@@ -25144,9 +25889,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -25246,12 +25995,12 @@
 // method id "compute.instances.start":
 
 type InstancesStartCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Start: This method starts an instance that was stopped using the
@@ -25259,24 +26008,24 @@
 // an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/start
 func (r *InstancesService) Start(project string, zone string, instance string) *InstancesStartCall {
-	c := &InstancesStartCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesStartCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesStartCall) Fields(s ...googleapi.Field) *InstancesStartCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesStartCall) Context(ctx context.Context) *InstancesStartCall {
 	c.ctx_ = ctx
 	return c
@@ -25284,9 +26033,13 @@
 
 func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/start")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -25382,12 +26135,12 @@
 // method id "compute.instances.stop":
 
 type InstancesStopCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Stop: This method stops a running instance, shutting it down cleanly,
@@ -25399,24 +26152,24 @@
 // Stopping an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/stop
 func (r *InstancesService) Stop(project string, zone string, instance string) *InstancesStopCall {
-	c := &InstancesStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesStopCall) Fields(s ...googleapi.Field) *InstancesStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesStopCall) Context(ctx context.Context) *InstancesStopCall {
 	c.ctx_ = ctx
 	return c
@@ -25424,9 +26177,13 @@
 
 func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -25522,28 +26279,27 @@
 // method id "compute.licenses.get":
 
 type LicensesGetCall struct {
-	s            *Service
-	project      string
-	license      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	license string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified license resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/licenses/get
 func (r *LicensesService) Get(project string, license string) *LicensesGetCall {
-	c := &LicensesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicensesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.license = license
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicensesGetCall) Fields(s ...googleapi.Field) *LicensesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25553,13 +26309,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LicensesGetCall) IfNoneMatch(entityTag string) *LicensesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicensesGetCall) Context(ctx context.Context) *LicensesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25567,17 +26323,21 @@
 
 func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenses/{license}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"license": c.license,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25660,18 +26420,17 @@
 // method id "compute.machineTypes.aggregatedList":
 
 type MachineTypesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of machine type resources grouped
 // by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/machineTypes/aggregatedList
 func (r *MachineTypesService) AggregatedList(project string) *MachineTypesAggregatedListCall {
-	c := &MachineTypesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MachineTypesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -25692,14 +26451,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *MachineTypesAggregatedListCall) Filter(filter string) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *MachineTypesAggregatedListCall) MaxResults(maxResults int64) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -25716,7 +26475,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *MachineTypesAggregatedListCall) OrderBy(orderBy string) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -25725,15 +26484,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *MachineTypesAggregatedListCall) PageToken(pageToken string) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MachineTypesAggregatedListCall) Fields(s ...googleapi.Field) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25743,13 +26502,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MachineTypesAggregatedListCall) IfNoneMatch(entityTag string) *MachineTypesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MachineTypesAggregatedListCall) Context(ctx context.Context) *MachineTypesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -25757,16 +26516,32 @@
 
 func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/machineTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25865,30 +26640,29 @@
 // method id "compute.machineTypes.get":
 
 type MachineTypesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	machineType  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	zone        string
+	machineType string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Returns the specified machine type resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/machineTypes/get
 func (r *MachineTypesService) Get(project string, zone string, machineType string) *MachineTypesGetCall {
-	c := &MachineTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MachineTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.machineType = machineType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MachineTypesGetCall) Fields(s ...googleapi.Field) *MachineTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25898,13 +26672,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MachineTypesGetCall) IfNoneMatch(entityTag string) *MachineTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MachineTypesGetCall) Context(ctx context.Context) *MachineTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25912,9 +26686,13 @@
 
 func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/machineTypes/{machineType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -25922,8 +26700,8 @@
 		"machineType": c.machineType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26014,19 +26792,18 @@
 // method id "compute.machineTypes.list":
 
 type MachineTypesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of machine type resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/machineTypes/list
 func (r *MachineTypesService) List(project string, zone string) *MachineTypesListCall {
-	c := &MachineTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MachineTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -26048,14 +26825,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *MachineTypesListCall) Filter(filter string) *MachineTypesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *MachineTypesListCall) MaxResults(maxResults int64) *MachineTypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -26072,7 +26849,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *MachineTypesListCall) OrderBy(orderBy string) *MachineTypesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -26081,15 +26858,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *MachineTypesListCall) PageToken(pageToken string) *MachineTypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MachineTypesListCall) Fields(s ...googleapi.Field) *MachineTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26099,13 +26876,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MachineTypesListCall) IfNoneMatch(entityTag string) *MachineTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MachineTypesListCall) Context(ctx context.Context) *MachineTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -26113,17 +26890,33 @@
 
 func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/machineTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26230,33 +27023,33 @@
 // method id "compute.networks.delete":
 
 type NetworksDeleteCall struct {
-	s          *Service
-	project    string
-	network    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	network string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified network resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/delete
 func (r *NetworksService) Delete(project string, network string) *NetworksDeleteCall {
-	c := &NetworksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.network = network
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksDeleteCall) Fields(s ...googleapi.Field) *NetworksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksDeleteCall) Context(ctx context.Context) *NetworksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -26264,9 +27057,13 @@
 
 func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -26353,28 +27150,27 @@
 // method id "compute.networks.get":
 
 type NetworksGetCall struct {
-	s            *Service
-	project      string
-	network      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	network string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified network resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/get
 func (r *NetworksService) Get(project string, network string) *NetworksGetCall {
-	c := &NetworksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.network = network
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksGetCall) Fields(s ...googleapi.Field) *NetworksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26384,13 +27180,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NetworksGetCall) IfNoneMatch(entityTag string) *NetworksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksGetCall) Context(ctx context.Context) *NetworksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26398,17 +27194,21 @@
 
 func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"network": c.network,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26491,34 +27291,34 @@
 // method id "compute.networks.insert":
 
 type NetworksInsertCall struct {
-	s          *Service
-	project    string
-	network    *Network
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	network *Network
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a network resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/insert
 func (r *NetworksService) Insert(project string, network *Network) *NetworksInsertCall {
-	c := &NetworksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.network = network
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksInsertCall) Fields(s ...googleapi.Field) *NetworksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksInsertCall) Context(ctx context.Context) *NetworksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -26531,9 +27331,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -26615,18 +27419,17 @@
 // method id "compute.networks.list":
 
 type NetworksListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of network resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/list
 func (r *NetworksService) List(project string) *NetworksListCall {
-	c := &NetworksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -26647,14 +27450,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *NetworksListCall) MaxResults(maxResults int64) *NetworksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -26671,7 +27474,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *NetworksListCall) OrderBy(orderBy string) *NetworksListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -26680,15 +27483,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *NetworksListCall) PageToken(pageToken string) *NetworksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksListCall) Fields(s ...googleapi.Field) *NetworksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26698,13 +27501,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NetworksListCall) IfNoneMatch(entityTag string) *NetworksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksListCall) Context(ctx context.Context) *NetworksListCall {
 	c.ctx_ = ctx
 	return c
@@ -26712,16 +27515,32 @@
 
 func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26820,26 +27639,25 @@
 // method id "compute.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified project resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/projects/get
 func (r *ProjectsService) Get(project string) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26849,13 +27667,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26863,16 +27681,20 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26947,34 +27769,34 @@
 // method id "compute.projects.setCommonInstanceMetadata":
 
 type ProjectsSetCommonInstanceMetadataCall struct {
-	s          *Service
-	project    string
-	metadata   *Metadata
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	metadata *Metadata
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetCommonInstanceMetadata: Sets metadata common to all instances
 // within the specified project using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/projects/setCommonInstanceMetadata
 func (r *ProjectsService) SetCommonInstanceMetadata(project string, metadata *Metadata) *ProjectsSetCommonInstanceMetadataCall {
-	c := &ProjectsSetCommonInstanceMetadataCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSetCommonInstanceMetadataCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.metadata = metadata
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSetCommonInstanceMetadataCall) Fields(s ...googleapi.Field) *ProjectsSetCommonInstanceMetadataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSetCommonInstanceMetadataCall) Context(ctx context.Context) *ProjectsSetCommonInstanceMetadataCall {
 	c.ctx_ = ctx
 	return c
@@ -26987,9 +27809,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setCommonInstanceMetadata")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -27074,7 +27900,7 @@
 	s                   *Service
 	project             string
 	usageexportlocation *UsageExportLocation
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -27084,23 +27910,23 @@
 // disabled.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/projects/setUsageExportBucket
 func (r *ProjectsService) SetUsageExportBucket(project string, usageexportlocation *UsageExportLocation) *ProjectsSetUsageExportBucketCall {
-	c := &ProjectsSetUsageExportBucketCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSetUsageExportBucketCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.usageexportlocation = usageexportlocation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSetUsageExportBucketCall) Fields(s ...googleapi.Field) *ProjectsSetUsageExportBucketCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSetUsageExportBucketCall) Context(ctx context.Context) *ProjectsSetUsageExportBucketCall {
 	c.ctx_ = ctx
 	return c
@@ -27113,9 +27939,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setUsageExportBucket")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -27203,30 +28033,30 @@
 	s                   *Service
 	project             string
 	usageexportlocation *UsageExportLocation
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // SetUsageExportCloudStorageBucket: [Deprecated] Use
 // setUsageExportBucket instead.
 func (r *ProjectsService) SetUsageExportCloudStorageBucket(project string, usageexportlocation *UsageExportLocation) *ProjectsSetUsageExportCloudStorageBucketCall {
-	c := &ProjectsSetUsageExportCloudStorageBucketCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSetUsageExportCloudStorageBucketCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.usageexportlocation = usageexportlocation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSetUsageExportCloudStorageBucketCall) Fields(s ...googleapi.Field) *ProjectsSetUsageExportCloudStorageBucketCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSetUsageExportCloudStorageBucketCall) Context(ctx context.Context) *ProjectsSetUsageExportCloudStorageBucketCall {
 	c.ctx_ = ctx
 	return c
@@ -27239,9 +28069,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setUsageExportCloudStorageBucket")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -27325,35 +28159,35 @@
 // method id "compute.regionOperations.delete":
 
 type RegionOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	region     string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	region    string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified region-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regionOperations/delete
 func (r *RegionOperationsService) Delete(project string, region string, operation string) *RegionOperationsDeleteCall {
-	c := &RegionOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionOperationsDeleteCall) Fields(s ...googleapi.Field) *RegionOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionOperationsDeleteCall) Context(ctx context.Context) *RegionOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -27361,9 +28195,13 @@
 
 func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -27432,30 +28270,29 @@
 // method id "compute.regionOperations.get":
 
 type RegionOperationsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	region    string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified region-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regionOperations/get
 func (r *RegionOperationsService) Get(project string, region string, operation string) *RegionOperationsGetCall {
-	c := &RegionOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionOperationsGetCall) Fields(s ...googleapi.Field) *RegionOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27465,13 +28302,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionOperationsGetCall) IfNoneMatch(entityTag string) *RegionOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionOperationsGetCall) Context(ctx context.Context) *RegionOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27479,9 +28316,13 @@
 
 func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -27489,8 +28330,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27581,19 +28422,18 @@
 // method id "compute.regionOperations.list":
 
 type RegionOperationsListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regionOperations/list
 func (r *RegionOperationsService) List(project string, region string) *RegionOperationsListCall {
-	c := &RegionOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -27615,14 +28455,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *RegionOperationsListCall) Filter(filter string) *RegionOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *RegionOperationsListCall) MaxResults(maxResults int64) *RegionOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -27639,7 +28479,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *RegionOperationsListCall) OrderBy(orderBy string) *RegionOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -27648,15 +28488,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *RegionOperationsListCall) PageToken(pageToken string) *RegionOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionOperationsListCall) Fields(s ...googleapi.Field) *RegionOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27666,13 +28506,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionOperationsListCall) IfNoneMatch(entityTag string) *RegionOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionOperationsListCall) Context(ctx context.Context) *RegionOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27680,17 +28520,33 @@
 
 func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27797,28 +28653,27 @@
 // method id "compute.regions.get":
 
 type RegionsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified region resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regions/get
 func (r *RegionsService) Get(project string, region string) *RegionsGetCall {
-	c := &RegionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsGetCall) Fields(s ...googleapi.Field) *RegionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27828,13 +28683,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsGetCall) IfNoneMatch(entityTag string) *RegionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsGetCall) Context(ctx context.Context) *RegionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27842,17 +28697,21 @@
 
 func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27935,18 +28794,17 @@
 // method id "compute.regions.list":
 
 type RegionsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of region resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regions/list
 func (r *RegionsService) List(project string) *RegionsListCall {
-	c := &RegionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -27967,14 +28825,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *RegionsListCall) Filter(filter string) *RegionsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *RegionsListCall) MaxResults(maxResults int64) *RegionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -27991,7 +28849,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *RegionsListCall) OrderBy(orderBy string) *RegionsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -28000,15 +28858,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *RegionsListCall) PageToken(pageToken string) *RegionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28018,13 +28876,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -28032,16 +28890,32 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28140,33 +29014,33 @@
 // method id "compute.routes.delete":
 
 type RoutesDeleteCall struct {
-	s          *Service
-	project    string
-	route      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	route   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified route resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/delete
 func (r *RoutesService) Delete(project string, route string) *RoutesDeleteCall {
-	c := &RoutesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.route = route
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesDeleteCall) Fields(s ...googleapi.Field) *RoutesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesDeleteCall) Context(ctx context.Context) *RoutesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -28174,9 +29048,13 @@
 
 func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes/{route}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -28263,28 +29141,27 @@
 // method id "compute.routes.get":
 
 type RoutesGetCall struct {
-	s            *Service
-	project      string
-	route        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	route   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified route resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/get
 func (r *RoutesService) Get(project string, route string) *RoutesGetCall {
-	c := &RoutesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.route = route
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesGetCall) Fields(s ...googleapi.Field) *RoutesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28294,13 +29171,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RoutesGetCall) IfNoneMatch(entityTag string) *RoutesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesGetCall) Context(ctx context.Context) *RoutesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28308,17 +29185,21 @@
 
 func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes/{route}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"route":   c.route,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28401,34 +29282,34 @@
 // method id "compute.routes.insert":
 
 type RoutesInsertCall struct {
-	s          *Service
-	project    string
-	route      *Route
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	route   *Route
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a route resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/insert
 func (r *RoutesService) Insert(project string, route *Route) *RoutesInsertCall {
-	c := &RoutesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.route = route
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesInsertCall) Fields(s ...googleapi.Field) *RoutesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesInsertCall) Context(ctx context.Context) *RoutesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -28441,9 +29322,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -28525,18 +29410,17 @@
 // method id "compute.routes.list":
 
 type RoutesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of route resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/list
 func (r *RoutesService) List(project string) *RoutesListCall {
-	c := &RoutesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -28557,14 +29441,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *RoutesListCall) Filter(filter string) *RoutesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *RoutesListCall) MaxResults(maxResults int64) *RoutesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -28581,7 +29465,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *RoutesListCall) OrderBy(orderBy string) *RoutesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -28590,15 +29474,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *RoutesListCall) PageToken(pageToken string) *RoutesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesListCall) Fields(s ...googleapi.Field) *RoutesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28608,13 +29492,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RoutesListCall) IfNoneMatch(entityTag string) *RoutesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesListCall) Context(ctx context.Context) *RoutesListCall {
 	c.ctx_ = ctx
 	return c
@@ -28622,16 +29506,32 @@
 
 func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28730,11 +29630,11 @@
 // method id "compute.snapshots.delete":
 
 type SnapshotsDeleteCall struct {
-	s          *Service
-	project    string
-	snapshot   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	snapshot string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified Snapshot resource. Keep in mind that
@@ -28746,23 +29646,23 @@
 // For more information, see Deleting snaphots.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/snapshots/delete
 func (r *SnapshotsService) Delete(project string, snapshot string) *SnapshotsDeleteCall {
-	c := &SnapshotsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.snapshot = snapshot
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsDeleteCall) Fields(s ...googleapi.Field) *SnapshotsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsDeleteCall) Context(ctx context.Context) *SnapshotsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -28770,9 +29670,13 @@
 
 func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{snapshot}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -28859,28 +29763,27 @@
 // method id "compute.snapshots.get":
 
 type SnapshotsGetCall struct {
-	s            *Service
-	project      string
-	snapshot     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	snapshot string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified Snapshot resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/snapshots/get
 func (r *SnapshotsService) Get(project string, snapshot string) *SnapshotsGetCall {
-	c := &SnapshotsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.snapshot = snapshot
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsGetCall) Fields(s ...googleapi.Field) *SnapshotsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28890,13 +29793,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SnapshotsGetCall) IfNoneMatch(entityTag string) *SnapshotsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsGetCall) Context(ctx context.Context) *SnapshotsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28904,17 +29807,21 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{snapshot}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"snapshot": c.snapshot,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28997,18 +29904,17 @@
 // method id "compute.snapshots.list":
 
 type SnapshotsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Snapshot resources contained within the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/snapshots/list
 func (r *SnapshotsService) List(project string) *SnapshotsListCall {
-	c := &SnapshotsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -29029,14 +29935,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *SnapshotsListCall) Filter(filter string) *SnapshotsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *SnapshotsListCall) MaxResults(maxResults int64) *SnapshotsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -29053,7 +29959,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *SnapshotsListCall) OrderBy(orderBy string) *SnapshotsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -29062,15 +29968,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *SnapshotsListCall) PageToken(pageToken string) *SnapshotsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsListCall) Fields(s ...googleapi.Field) *SnapshotsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29080,13 +29986,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SnapshotsListCall) IfNoneMatch(entityTag string) *SnapshotsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsListCall) Context(ctx context.Context) *SnapshotsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29094,16 +30000,32 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29205,29 +30127,29 @@
 	s              *Service
 	project        string
 	sslCertificate string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified SslCertificate resource.
 func (r *SslCertificatesService) Delete(project string, sslCertificate string) *SslCertificatesDeleteCall {
-	c := &SslCertificatesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertificatesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.sslCertificate = sslCertificate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertificatesDeleteCall) Fields(s ...googleapi.Field) *SslCertificatesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertificatesDeleteCall) Context(ctx context.Context) *SslCertificatesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -29235,9 +30157,13 @@
 
 func (c *SslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates/{sslCertificate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -29327,24 +30253,23 @@
 	s              *Service
 	project        string
 	sslCertificate string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified SslCertificate resource.
 func (r *SslCertificatesService) Get(project string, sslCertificate string) *SslCertificatesGetCall {
-	c := &SslCertificatesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertificatesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.sslCertificate = sslCertificate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertificatesGetCall) Fields(s ...googleapi.Field) *SslCertificatesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29354,13 +30279,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SslCertificatesGetCall) IfNoneMatch(entityTag string) *SslCertificatesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertificatesGetCall) Context(ctx context.Context) *SslCertificatesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29368,17 +30293,21 @@
 
 func (c *SslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates/{sslCertificate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
 		"sslCertificate": c.sslCertificate,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29464,30 +30393,30 @@
 	s              *Service
 	project        string
 	sslcertificate *SslCertificate
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Creates a SslCertificate resource in the specified project
 // using the data included in the request.
 func (r *SslCertificatesService) Insert(project string, sslcertificate *SslCertificate) *SslCertificatesInsertCall {
-	c := &SslCertificatesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertificatesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.sslcertificate = sslcertificate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertificatesInsertCall) Fields(s ...googleapi.Field) *SslCertificatesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertificatesInsertCall) Context(ctx context.Context) *SslCertificatesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -29500,9 +30429,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -29584,17 +30517,16 @@
 // method id "compute.sslCertificates.list":
 
 type SslCertificatesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of SslCertificate resources available to the
 // specified project.
 func (r *SslCertificatesService) List(project string) *SslCertificatesListCall {
-	c := &SslCertificatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertificatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -29615,14 +30547,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *SslCertificatesListCall) Filter(filter string) *SslCertificatesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *SslCertificatesListCall) MaxResults(maxResults int64) *SslCertificatesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -29639,7 +30571,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *SslCertificatesListCall) OrderBy(orderBy string) *SslCertificatesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -29648,15 +30580,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *SslCertificatesListCall) PageToken(pageToken string) *SslCertificatesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertificatesListCall) Fields(s ...googleapi.Field) *SslCertificatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29666,13 +30598,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SslCertificatesListCall) IfNoneMatch(entityTag string) *SslCertificatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertificatesListCall) Context(ctx context.Context) *SslCertificatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -29680,16 +30612,32 @@
 
 func (c *SslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29791,30 +30739,30 @@
 	s               *Service
 	project         string
 	targetHttpProxy string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes the specified TargetHttpProxy resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/delete
 func (r *TargetHttpProxiesService) Delete(project string, targetHttpProxy string) *TargetHttpProxiesDeleteCall {
-	c := &TargetHttpProxiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpProxy = targetHttpProxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesDeleteCall) Fields(s ...googleapi.Field) *TargetHttpProxiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesDeleteCall) Context(ctx context.Context) *TargetHttpProxiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -29822,9 +30770,13 @@
 
 func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies/{targetHttpProxy}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -29914,25 +30866,24 @@
 	s               *Service
 	project         string
 	targetHttpProxy string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Returns the specified TargetHttpProxy resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/get
 func (r *TargetHttpProxiesService) Get(project string, targetHttpProxy string) *TargetHttpProxiesGetCall {
-	c := &TargetHttpProxiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpProxy = targetHttpProxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesGetCall) Fields(s ...googleapi.Field) *TargetHttpProxiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29942,13 +30893,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetHttpProxiesGetCall) IfNoneMatch(entityTag string) *TargetHttpProxiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesGetCall) Context(ctx context.Context) *TargetHttpProxiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29956,17 +30907,21 @@
 
 func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies/{targetHttpProxy}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
 		"targetHttpProxy": c.targetHttpProxy,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30052,7 +31007,7 @@
 	s               *Service
 	project         string
 	targethttpproxy *TargetHttpProxy
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -30060,23 +31015,23 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/insert
 func (r *TargetHttpProxiesService) Insert(project string, targethttpproxy *TargetHttpProxy) *TargetHttpProxiesInsertCall {
-	c := &TargetHttpProxiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targethttpproxy = targethttpproxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesInsertCall) Fields(s ...googleapi.Field) *TargetHttpProxiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesInsertCall) Context(ctx context.Context) *TargetHttpProxiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -30089,9 +31044,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -30173,18 +31132,17 @@
 // method id "compute.targetHttpProxies.list":
 
 type TargetHttpProxiesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetHttpProxy resources available to
 // the specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/list
 func (r *TargetHttpProxiesService) List(project string) *TargetHttpProxiesListCall {
-	c := &TargetHttpProxiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -30205,14 +31163,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetHttpProxiesListCall) Filter(filter string) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetHttpProxiesListCall) MaxResults(maxResults int64) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -30229,7 +31187,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetHttpProxiesListCall) OrderBy(orderBy string) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -30238,15 +31196,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetHttpProxiesListCall) PageToken(pageToken string) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesListCall) Fields(s ...googleapi.Field) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30256,13 +31214,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetHttpProxiesListCall) IfNoneMatch(entityTag string) *TargetHttpProxiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesListCall) Context(ctx context.Context) *TargetHttpProxiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -30270,16 +31228,32 @@
 
 func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30382,31 +31356,31 @@
 	project         string
 	targetHttpProxy string
 	urlmapreference *UrlMapReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetUrlMap: Changes the URL map for TargetHttpProxy.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/setUrlMap
 func (r *TargetHttpProxiesService) SetUrlMap(project string, targetHttpProxy string, urlmapreference *UrlMapReference) *TargetHttpProxiesSetUrlMapCall {
-	c := &TargetHttpProxiesSetUrlMapCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesSetUrlMapCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpProxy = targetHttpProxy
 	c.urlmapreference = urlmapreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *TargetHttpProxiesSetUrlMapCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesSetUrlMapCall) Context(ctx context.Context) *TargetHttpProxiesSetUrlMapCall {
 	c.ctx_ = ctx
 	return c
@@ -30419,9 +31393,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -30515,29 +31493,29 @@
 	s                *Service
 	project          string
 	targetHttpsProxy string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Deletes the specified TargetHttpsProxy resource.
 func (r *TargetHttpsProxiesService) Delete(project string, targetHttpsProxy string) *TargetHttpsProxiesDeleteCall {
-	c := &TargetHttpsProxiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpsProxiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpsProxy = targetHttpsProxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpsProxiesDeleteCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpsProxiesDeleteCall) Context(ctx context.Context) *TargetHttpsProxiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -30545,9 +31523,13 @@
 
 func (c *TargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies/{targetHttpsProxy}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -30637,24 +31619,23 @@
 	s                *Service
 	project          string
 	targetHttpsProxy string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Returns the specified TargetHttpsProxy resource.
 func (r *TargetHttpsProxiesService) Get(project string, targetHttpsProxy string) *TargetHttpsProxiesGetCall {
-	c := &TargetHttpsProxiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpsProxiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpsProxy = targetHttpsProxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpsProxiesGetCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30664,13 +31645,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetHttpsProxiesGetCall) IfNoneMatch(entityTag string) *TargetHttpsProxiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpsProxiesGetCall) Context(ctx context.Context) *TargetHttpsProxiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30678,17 +31659,21 @@
 
 func (c *TargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies/{targetHttpsProxy}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
 		"targetHttpsProxy": c.targetHttpsProxy,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30774,30 +31759,30 @@
 	s                *Service
 	project          string
 	targethttpsproxy *TargetHttpsProxy
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Insert: Creates a TargetHttpsProxy resource in the specified project
 // using the data included in the request.
 func (r *TargetHttpsProxiesService) Insert(project string, targethttpsproxy *TargetHttpsProxy) *TargetHttpsProxiesInsertCall {
-	c := &TargetHttpsProxiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpsProxiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targethttpsproxy = targethttpsproxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpsProxiesInsertCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpsProxiesInsertCall) Context(ctx context.Context) *TargetHttpsProxiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -30810,9 +31795,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -30894,17 +31883,16 @@
 // method id "compute.targetHttpsProxies.list":
 
 type TargetHttpsProxiesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetHttpsProxy resources available to
 // the specified project.
 func (r *TargetHttpsProxiesService) List(project string) *TargetHttpsProxiesListCall {
-	c := &TargetHttpsProxiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpsProxiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -30925,14 +31913,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetHttpsProxiesListCall) Filter(filter string) *TargetHttpsProxiesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetHttpsProxiesListCall) MaxResults(maxResults int64) *TargetHttpsProxiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -30949,7 +31937,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetHttpsProxiesListCall) OrderBy(orderBy string) *TargetHttpsProxiesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -30958,15 +31946,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetHttpsProxiesListCall) PageToken(pageToken string) *TargetHttpsProxiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpsProxiesListCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30976,13 +31964,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetHttpsProxiesListCall) IfNoneMatch(entityTag string) *TargetHttpsProxiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpsProxiesListCall) Context(ctx context.Context) *TargetHttpsProxiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -30990,16 +31978,32 @@
 
 func (c *TargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31102,30 +32106,30 @@
 	project                                     string
 	targetHttpsProxy                            string
 	targethttpsproxiessetsslcertificatesrequest *TargetHttpsProxiesSetSslCertificatesRequest
-	urlParams_                                  internal.URLParams
+	opt_                                        map[string]interface{}
 	ctx_                                        context.Context
 }
 
 // SetSslCertificates: Replaces SslCertificates for TargetHttpsProxy.
 func (r *TargetHttpsProxiesService) SetSslCertificates(project string, targetHttpsProxy string, targethttpsproxiessetsslcertificatesrequest *TargetHttpsProxiesSetSslCertificatesRequest) *TargetHttpsProxiesSetSslCertificatesCall {
-	c := &TargetHttpsProxiesSetSslCertificatesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpsProxiesSetSslCertificatesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpsProxy = targetHttpsProxy
 	c.targethttpsproxiessetsslcertificatesrequest = targethttpsproxiessetsslcertificatesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpsProxiesSetSslCertificatesCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesSetSslCertificatesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpsProxiesSetSslCertificatesCall) Context(ctx context.Context) *TargetHttpsProxiesSetSslCertificatesCall {
 	c.ctx_ = ctx
 	return c
@@ -31138,9 +32142,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -31235,30 +32243,30 @@
 	project          string
 	targetHttpsProxy string
 	urlmapreference  *UrlMapReference
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // SetUrlMap: Changes the URL map for TargetHttpsProxy.
 func (r *TargetHttpsProxiesService) SetUrlMap(project string, targetHttpsProxy string, urlmapreference *UrlMapReference) *TargetHttpsProxiesSetUrlMapCall {
-	c := &TargetHttpsProxiesSetUrlMapCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpsProxiesSetUrlMapCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpsProxy = targetHttpsProxy
 	c.urlmapreference = urlmapreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpsProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesSetUrlMapCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpsProxiesSetUrlMapCall) Context(ctx context.Context) *TargetHttpsProxiesSetUrlMapCall {
 	c.ctx_ = ctx
 	return c
@@ -31271,9 +32279,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -31364,18 +32376,17 @@
 // method id "compute.targetInstances.aggregatedList":
 
 type TargetInstancesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of target instances grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/aggregatedList
 func (r *TargetInstancesService) AggregatedList(project string) *TargetInstancesAggregatedListCall {
-	c := &TargetInstancesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -31396,14 +32407,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetInstancesAggregatedListCall) Filter(filter string) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetInstancesAggregatedListCall) MaxResults(maxResults int64) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -31420,7 +32431,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetInstancesAggregatedListCall) OrderBy(orderBy string) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -31429,15 +32440,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetInstancesAggregatedListCall) PageToken(pageToken string) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesAggregatedListCall) Fields(s ...googleapi.Field) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31447,13 +32458,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetInstancesAggregatedListCall) IfNoneMatch(entityTag string) *TargetInstancesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesAggregatedListCall) Context(ctx context.Context) *TargetInstancesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -31461,16 +32472,32 @@
 
 func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31573,31 +32600,31 @@
 	project        string
 	zone           string
 	targetInstance string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified TargetInstance resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/delete
 func (r *TargetInstancesService) Delete(project string, zone string, targetInstance string) *TargetInstancesDeleteCall {
-	c := &TargetInstancesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.targetInstance = targetInstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesDeleteCall) Fields(s ...googleapi.Field) *TargetInstancesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesDeleteCall) Context(ctx context.Context) *TargetInstancesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -31605,9 +32632,13 @@
 
 func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances/{targetInstance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -31707,26 +32738,25 @@
 	project        string
 	zone           string
 	targetInstance string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified TargetInstance resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/get
 func (r *TargetInstancesService) Get(project string, zone string, targetInstance string) *TargetInstancesGetCall {
-	c := &TargetInstancesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.targetInstance = targetInstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesGetCall) Fields(s ...googleapi.Field) *TargetInstancesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31736,13 +32766,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetInstancesGetCall) IfNoneMatch(entityTag string) *TargetInstancesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesGetCall) Context(ctx context.Context) *TargetInstancesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -31750,9 +32780,13 @@
 
 func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances/{targetInstance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -31760,8 +32794,8 @@
 		"targetInstance": c.targetInstance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31856,7 +32890,7 @@
 	project        string
 	zone           string
 	targetinstance *TargetInstance
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -31864,24 +32898,24 @@
 // and zone using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/insert
 func (r *TargetInstancesService) Insert(project string, zone string, targetinstance *TargetInstance) *TargetInstancesInsertCall {
-	c := &TargetInstancesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.targetinstance = targetinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesInsertCall) Fields(s ...googleapi.Field) *TargetInstancesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesInsertCall) Context(ctx context.Context) *TargetInstancesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -31894,9 +32928,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -31987,19 +33025,18 @@
 // method id "compute.targetInstances.list":
 
 type TargetInstancesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetInstance resources available to the
 // specified project and zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/list
 func (r *TargetInstancesService) List(project string, zone string) *TargetInstancesListCall {
-	c := &TargetInstancesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -32021,14 +33058,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetInstancesListCall) Filter(filter string) *TargetInstancesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetInstancesListCall) MaxResults(maxResults int64) *TargetInstancesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -32045,7 +33082,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetInstancesListCall) OrderBy(orderBy string) *TargetInstancesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -32054,15 +33091,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetInstancesListCall) PageToken(pageToken string) *TargetInstancesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesListCall) Fields(s ...googleapi.Field) *TargetInstancesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32072,13 +33109,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetInstancesListCall) IfNoneMatch(entityTag string) *TargetInstancesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesListCall) Context(ctx context.Context) *TargetInstancesListCall {
 	c.ctx_ = ctx
 	return c
@@ -32086,17 +33123,33 @@
 
 func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32208,14 +33261,14 @@
 	region                           string
 	targetPool                       string
 	targetpoolsaddhealthcheckrequest *TargetPoolsAddHealthCheckRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
 // AddHealthCheck: Adds health check URL to targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/addHealthCheck
 func (r *TargetPoolsService) AddHealthCheck(project string, region string, targetPool string, targetpoolsaddhealthcheckrequest *TargetPoolsAddHealthCheckRequest) *TargetPoolsAddHealthCheckCall {
-	c := &TargetPoolsAddHealthCheckCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsAddHealthCheckCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -32223,17 +33276,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsAddHealthCheckCall) Fields(s ...googleapi.Field) *TargetPoolsAddHealthCheckCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsAddHealthCheckCall) Context(ctx context.Context) *TargetPoolsAddHealthCheckCall {
 	c.ctx_ = ctx
 	return c
@@ -32246,9 +33299,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -32352,14 +33409,14 @@
 	region                        string
 	targetPool                    string
 	targetpoolsaddinstancerequest *TargetPoolsAddInstanceRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // AddInstance: Adds instance url to targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/addInstance
 func (r *TargetPoolsService) AddInstance(project string, region string, targetPool string, targetpoolsaddinstancerequest *TargetPoolsAddInstanceRequest) *TargetPoolsAddInstanceCall {
-	c := &TargetPoolsAddInstanceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsAddInstanceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -32367,17 +33424,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsAddInstanceCall) Fields(s ...googleapi.Field) *TargetPoolsAddInstanceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsAddInstanceCall) Context(ctx context.Context) *TargetPoolsAddInstanceCall {
 	c.ctx_ = ctx
 	return c
@@ -32390,9 +33447,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/addInstance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -32491,17 +33552,16 @@
 // method id "compute.targetPools.aggregatedList":
 
 type TargetPoolsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of target pools grouped by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/aggregatedList
 func (r *TargetPoolsService) AggregatedList(project string) *TargetPoolsAggregatedListCall {
-	c := &TargetPoolsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -32522,14 +33582,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetPoolsAggregatedListCall) Filter(filter string) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetPoolsAggregatedListCall) MaxResults(maxResults int64) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -32546,7 +33606,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetPoolsAggregatedListCall) OrderBy(orderBy string) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -32555,15 +33615,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetPoolsAggregatedListCall) PageToken(pageToken string) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsAggregatedListCall) Fields(s ...googleapi.Field) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32573,13 +33633,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetPoolsAggregatedListCall) IfNoneMatch(entityTag string) *TargetPoolsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsAggregatedListCall) Context(ctx context.Context) *TargetPoolsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -32587,16 +33647,32 @@
 
 func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32699,31 +33775,31 @@
 	project    string
 	region     string
 	targetPool string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified TargetPool resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/delete
 func (r *TargetPoolsService) Delete(project string, region string, targetPool string) *TargetPoolsDeleteCall {
-	c := &TargetPoolsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsDeleteCall) Fields(s ...googleapi.Field) *TargetPoolsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsDeleteCall) Context(ctx context.Context) *TargetPoolsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -32731,9 +33807,13 @@
 
 func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -32829,30 +33909,29 @@
 // method id "compute.targetPools.get":
 
 type TargetPoolsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	targetPool   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	region     string
+	targetPool string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns the specified TargetPool resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/get
 func (r *TargetPoolsService) Get(project string, region string, targetPool string) *TargetPoolsGetCall {
-	c := &TargetPoolsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsGetCall) Fields(s ...googleapi.Field) *TargetPoolsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32862,13 +33941,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetPoolsGetCall) IfNoneMatch(entityTag string) *TargetPoolsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsGetCall) Context(ctx context.Context) *TargetPoolsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -32876,9 +33955,13 @@
 
 func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -32886,8 +33969,8 @@
 		"targetPool": c.targetPool,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32983,7 +34066,7 @@
 	region            string
 	targetPool        string
 	instancereference *InstanceReference
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -32991,7 +34074,7 @@
 // the given instance that is referenced by given TargetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/getHealth
 func (r *TargetPoolsService) GetHealth(project string, region string, targetPool string, instancereference *InstanceReference) *TargetPoolsGetHealthCall {
-	c := &TargetPoolsGetHealthCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsGetHealthCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -32999,17 +34082,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsGetHealthCall) Fields(s ...googleapi.Field) *TargetPoolsGetHealthCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsGetHealthCall) Context(ctx context.Context) *TargetPoolsGetHealthCall {
 	c.ctx_ = ctx
 	return c
@@ -33022,9 +34105,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/getHealth")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -33128,7 +34215,7 @@
 	project    string
 	region     string
 	targetpool *TargetPool
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -33136,24 +34223,24 @@
 // region using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/insert
 func (r *TargetPoolsService) Insert(project string, region string, targetpool *TargetPool) *TargetPoolsInsertCall {
-	c := &TargetPoolsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetpool = targetpool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsInsertCall) Fields(s ...googleapi.Field) *TargetPoolsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsInsertCall) Context(ctx context.Context) *TargetPoolsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -33166,9 +34253,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -33259,19 +34350,18 @@
 // method id "compute.targetPools.list":
 
 type TargetPoolsListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetPool resources available to the
 // specified project and region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/list
 func (r *TargetPoolsService) List(project string, region string) *TargetPoolsListCall {
-	c := &TargetPoolsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -33293,14 +34383,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetPoolsListCall) Filter(filter string) *TargetPoolsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetPoolsListCall) MaxResults(maxResults int64) *TargetPoolsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -33317,7 +34407,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetPoolsListCall) OrderBy(orderBy string) *TargetPoolsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -33326,15 +34416,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetPoolsListCall) PageToken(pageToken string) *TargetPoolsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsListCall) Fields(s ...googleapi.Field) *TargetPoolsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33344,13 +34434,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetPoolsListCall) IfNoneMatch(entityTag string) *TargetPoolsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsListCall) Context(ctx context.Context) *TargetPoolsListCall {
 	c.ctx_ = ctx
 	return c
@@ -33358,17 +34448,33 @@
 
 func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33480,14 +34586,14 @@
 	region                              string
 	targetPool                          string
 	targetpoolsremovehealthcheckrequest *TargetPoolsRemoveHealthCheckRequest
-	urlParams_                          internal.URLParams
+	opt_                                map[string]interface{}
 	ctx_                                context.Context
 }
 
 // RemoveHealthCheck: Removes health check URL from targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/removeHealthCheck
 func (r *TargetPoolsService) RemoveHealthCheck(project string, region string, targetPool string, targetpoolsremovehealthcheckrequest *TargetPoolsRemoveHealthCheckRequest) *TargetPoolsRemoveHealthCheckCall {
-	c := &TargetPoolsRemoveHealthCheckCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsRemoveHealthCheckCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -33495,17 +34601,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsRemoveHealthCheckCall) Fields(s ...googleapi.Field) *TargetPoolsRemoveHealthCheckCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsRemoveHealthCheckCall) Context(ctx context.Context) *TargetPoolsRemoveHealthCheckCall {
 	c.ctx_ = ctx
 	return c
@@ -33518,9 +34624,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -33624,14 +34734,14 @@
 	region                           string
 	targetPool                       string
 	targetpoolsremoveinstancerequest *TargetPoolsRemoveInstanceRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
 // RemoveInstance: Removes instance URL from targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/removeInstance
 func (r *TargetPoolsService) RemoveInstance(project string, region string, targetPool string, targetpoolsremoveinstancerequest *TargetPoolsRemoveInstanceRequest) *TargetPoolsRemoveInstanceCall {
-	c := &TargetPoolsRemoveInstanceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsRemoveInstanceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -33639,17 +34749,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsRemoveInstanceCall) Fields(s ...googleapi.Field) *TargetPoolsRemoveInstanceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsRemoveInstanceCall) Context(ctx context.Context) *TargetPoolsRemoveInstanceCall {
 	c.ctx_ = ctx
 	return c
@@ -33662,9 +34772,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/removeInstance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -33768,14 +34882,14 @@
 	region          string
 	targetPool      string
 	targetreference *TargetReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetBackup: Changes backup pool configurations.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/setBackup
 func (r *TargetPoolsService) SetBackup(project string, region string, targetPool string, targetreference *TargetReference) *TargetPoolsSetBackupCall {
-	c := &TargetPoolsSetBackupCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsSetBackupCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -33786,21 +34900,21 @@
 // FailoverRatio sets the optional parameter "failoverRatio": New
 // failoverRatio value for the containing target pool.
 func (c *TargetPoolsSetBackupCall) FailoverRatio(failoverRatio float64) *TargetPoolsSetBackupCall {
-	c.urlParams_.Set("failoverRatio", fmt.Sprintf("%v", failoverRatio))
+	c.opt_["failoverRatio"] = failoverRatio
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsSetBackupCall) Fields(s ...googleapi.Field) *TargetPoolsSetBackupCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsSetBackupCall) Context(ctx context.Context) *TargetPoolsSetBackupCall {
 	c.ctx_ = ctx
 	return c
@@ -33813,9 +34927,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["failoverRatio"]; ok {
+		params.Set("failoverRatio", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/setBackup")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -33921,17 +35042,16 @@
 // method id "compute.targetVpnGateways.aggregatedList":
 
 type TargetVpnGatewaysAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of target VPN gateways grouped by
 // scope.
 func (r *TargetVpnGatewaysService) AggregatedList(project string) *TargetVpnGatewaysAggregatedListCall {
-	c := &TargetVpnGatewaysAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -33952,14 +35072,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetVpnGatewaysAggregatedListCall) Filter(filter string) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetVpnGatewaysAggregatedListCall) MaxResults(maxResults int64) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -33976,7 +35096,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetVpnGatewaysAggregatedListCall) OrderBy(orderBy string) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -33985,15 +35105,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetVpnGatewaysAggregatedListCall) PageToken(pageToken string) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysAggregatedListCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34003,13 +35123,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetVpnGatewaysAggregatedListCall) IfNoneMatch(entityTag string) *TargetVpnGatewaysAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysAggregatedListCall) Context(ctx context.Context) *TargetVpnGatewaysAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -34017,16 +35137,32 @@
 
 func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetVpnGateways")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34129,30 +35265,30 @@
 	project          string
 	region           string
 	targetVpnGateway string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Deletes the specified TargetVpnGateway resource.
 func (r *TargetVpnGatewaysService) Delete(project string, region string, targetVpnGateway string) *TargetVpnGatewaysDeleteCall {
-	c := &TargetVpnGatewaysDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetVpnGateway = targetVpnGateway
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysDeleteCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysDeleteCall) Context(ctx context.Context) *TargetVpnGatewaysDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -34160,9 +35296,13 @@
 
 func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -34262,25 +35402,24 @@
 	project          string
 	region           string
 	targetVpnGateway string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Returns the specified TargetVpnGateway resource.
 func (r *TargetVpnGatewaysService) Get(project string, region string, targetVpnGateway string) *TargetVpnGatewaysGetCall {
-	c := &TargetVpnGatewaysGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetVpnGateway = targetVpnGateway
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysGetCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34290,13 +35429,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetVpnGatewaysGetCall) IfNoneMatch(entityTag string) *TargetVpnGatewaysGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysGetCall) Context(ctx context.Context) *TargetVpnGatewaysGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34304,9 +35443,13 @@
 
 func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -34314,8 +35457,8 @@
 		"targetVpnGateway": c.targetVpnGateway,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34410,31 +35553,31 @@
 	project          string
 	region           string
 	targetvpngateway *TargetVpnGateway
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Insert: Creates a TargetVpnGateway resource in the specified project
 // and region using the data included in the request.
 func (r *TargetVpnGatewaysService) Insert(project string, region string, targetvpngateway *TargetVpnGateway) *TargetVpnGatewaysInsertCall {
-	c := &TargetVpnGatewaysInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetvpngateway = targetvpngateway
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysInsertCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysInsertCall) Context(ctx context.Context) *TargetVpnGatewaysInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -34447,9 +35590,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -34540,18 +35687,17 @@
 // method id "compute.targetVpnGateways.list":
 
 type TargetVpnGatewaysListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetVpnGateway resources available to
 // the specified project and region.
 func (r *TargetVpnGatewaysService) List(project string, region string) *TargetVpnGatewaysListCall {
-	c := &TargetVpnGatewaysListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -34573,14 +35719,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetVpnGatewaysListCall) Filter(filter string) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetVpnGatewaysListCall) MaxResults(maxResults int64) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -34597,7 +35743,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *TargetVpnGatewaysListCall) OrderBy(orderBy string) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -34606,15 +35752,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetVpnGatewaysListCall) PageToken(pageToken string) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysListCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34624,13 +35770,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetVpnGatewaysListCall) IfNoneMatch(entityTag string) *TargetVpnGatewaysListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysListCall) Context(ctx context.Context) *TargetVpnGatewaysListCall {
 	c.ctx_ = ctx
 	return c
@@ -34638,17 +35784,33 @@
 
 func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34755,33 +35917,33 @@
 // method id "compute.urlMaps.delete":
 
 type UrlMapsDeleteCall struct {
-	s          *Service
-	project    string
-	urlMap     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlMap  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified UrlMap resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/delete
 func (r *UrlMapsService) Delete(project string, urlMap string) *UrlMapsDeleteCall {
-	c := &UrlMapsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsDeleteCall) Fields(s ...googleapi.Field) *UrlMapsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsDeleteCall) Context(ctx context.Context) *UrlMapsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -34789,9 +35951,13 @@
 
 func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -34878,28 +36044,27 @@
 // method id "compute.urlMaps.get":
 
 type UrlMapsGetCall struct {
-	s            *Service
-	project      string
-	urlMap       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	urlMap  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified UrlMap resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/get
 func (r *UrlMapsService) Get(project string, urlMap string) *UrlMapsGetCall {
-	c := &UrlMapsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsGetCall) Fields(s ...googleapi.Field) *UrlMapsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34909,13 +36074,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlMapsGetCall) IfNoneMatch(entityTag string) *UrlMapsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsGetCall) Context(ctx context.Context) *UrlMapsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34923,17 +36088,21 @@
 
 func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"urlMap":  c.urlMap,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35016,34 +36185,34 @@
 // method id "compute.urlMaps.insert":
 
 type UrlMapsInsertCall struct {
-	s          *Service
-	project    string
-	urlmap     *UrlMap
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlmap  *UrlMap
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a UrlMap resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/insert
 func (r *UrlMapsService) Insert(project string, urlmap *UrlMap) *UrlMapsInsertCall {
-	c := &UrlMapsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlmap = urlmap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsInsertCall) Fields(s ...googleapi.Field) *UrlMapsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsInsertCall) Context(ctx context.Context) *UrlMapsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -35056,9 +36225,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -35140,18 +36313,17 @@
 // method id "compute.urlMaps.list":
 
 type UrlMapsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of UrlMap resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/list
 func (r *UrlMapsService) List(project string) *UrlMapsListCall {
-	c := &UrlMapsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -35172,14 +36344,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *UrlMapsListCall) Filter(filter string) *UrlMapsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *UrlMapsListCall) MaxResults(maxResults int64) *UrlMapsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -35196,7 +36368,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *UrlMapsListCall) OrderBy(orderBy string) *UrlMapsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -35205,15 +36377,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *UrlMapsListCall) PageToken(pageToken string) *UrlMapsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsListCall) Fields(s ...googleapi.Field) *UrlMapsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35223,13 +36395,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlMapsListCall) IfNoneMatch(entityTag string) *UrlMapsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsListCall) Context(ctx context.Context) *UrlMapsListCall {
 	c.ctx_ = ctx
 	return c
@@ -35237,16 +36409,32 @@
 
 func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35345,36 +36533,36 @@
 // method id "compute.urlMaps.patch":
 
 type UrlMapsPatchCall struct {
-	s          *Service
-	project    string
-	urlMap     string
-	urlmap     *UrlMap
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlMap  string
+	urlmap  *UrlMap
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Update the entire content of the UrlMap resource. This method
 // supports patch semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/patch
 func (r *UrlMapsService) Patch(project string, urlMap string, urlmap *UrlMap) *UrlMapsPatchCall {
-	c := &UrlMapsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	c.urlmap = urlmap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsPatchCall) Fields(s ...googleapi.Field) *UrlMapsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsPatchCall) Context(ctx context.Context) *UrlMapsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -35387,9 +36575,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -35480,35 +36672,35 @@
 // method id "compute.urlMaps.update":
 
 type UrlMapsUpdateCall struct {
-	s          *Service
-	project    string
-	urlMap     string
-	urlmap     *UrlMap
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlMap  string
+	urlmap  *UrlMap
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Update the entire content of the UrlMap resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/update
 func (r *UrlMapsService) Update(project string, urlMap string, urlmap *UrlMap) *UrlMapsUpdateCall {
-	c := &UrlMapsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	c.urlmap = urlmap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsUpdateCall) Fields(s ...googleapi.Field) *UrlMapsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsUpdateCall) Context(ctx context.Context) *UrlMapsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -35521,9 +36713,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -35618,7 +36814,7 @@
 	project                string
 	urlMap                 string
 	urlmapsvalidaterequest *UrlMapsValidateRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -35627,24 +36823,24 @@
 // NOT create the UrlMap.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/validate
 func (r *UrlMapsService) Validate(project string, urlMap string, urlmapsvalidaterequest *UrlMapsValidateRequest) *UrlMapsValidateCall {
-	c := &UrlMapsValidateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsValidateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	c.urlmapsvalidaterequest = urlmapsvalidaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsValidateCall) Fields(s ...googleapi.Field) *UrlMapsValidateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsValidateCall) Context(ctx context.Context) *UrlMapsValidateCall {
 	c.ctx_ = ctx
 	return c
@@ -35657,9 +36853,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}/validate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -35750,16 +36950,15 @@
 // method id "compute.vpnTunnels.aggregatedList":
 
 type VpnTunnelsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of VPN tunnels grouped by scope.
 func (r *VpnTunnelsService) AggregatedList(project string) *VpnTunnelsAggregatedListCall {
-	c := &VpnTunnelsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -35780,14 +36979,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *VpnTunnelsAggregatedListCall) Filter(filter string) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *VpnTunnelsAggregatedListCall) MaxResults(maxResults int64) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -35804,7 +37003,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *VpnTunnelsAggregatedListCall) OrderBy(orderBy string) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -35813,15 +37012,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *VpnTunnelsAggregatedListCall) PageToken(pageToken string) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsAggregatedListCall) Fields(s ...googleapi.Field) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35831,13 +37030,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VpnTunnelsAggregatedListCall) IfNoneMatch(entityTag string) *VpnTunnelsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsAggregatedListCall) Context(ctx context.Context) *VpnTunnelsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -35845,16 +37044,32 @@
 
 func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/vpnTunnels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35953,34 +37168,34 @@
 // method id "compute.vpnTunnels.delete":
 
 type VpnTunnelsDeleteCall struct {
-	s          *Service
-	project    string
-	region     string
-	vpnTunnel  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	region    string
+	vpnTunnel string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified VpnTunnel resource.
 func (r *VpnTunnelsService) Delete(project string, region string, vpnTunnel string) *VpnTunnelsDeleteCall {
-	c := &VpnTunnelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.vpnTunnel = vpnTunnel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsDeleteCall) Fields(s ...googleapi.Field) *VpnTunnelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsDeleteCall) Context(ctx context.Context) *VpnTunnelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -35988,9 +37203,13 @@
 
 func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -36086,29 +37305,28 @@
 // method id "compute.vpnTunnels.get":
 
 type VpnTunnelsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	vpnTunnel    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	region    string
+	vpnTunnel string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the specified VpnTunnel resource.
 func (r *VpnTunnelsService) Get(project string, region string, vpnTunnel string) *VpnTunnelsGetCall {
-	c := &VpnTunnelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.vpnTunnel = vpnTunnel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsGetCall) Fields(s ...googleapi.Field) *VpnTunnelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36118,13 +37336,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VpnTunnelsGetCall) IfNoneMatch(entityTag string) *VpnTunnelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsGetCall) Context(ctx context.Context) *VpnTunnelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -36132,9 +37350,13 @@
 
 func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -36142,8 +37364,8 @@
 		"vpnTunnel": c.vpnTunnel,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36234,35 +37456,35 @@
 // method id "compute.vpnTunnels.insert":
 
 type VpnTunnelsInsertCall struct {
-	s          *Service
-	project    string
-	region     string
-	vpntunnel  *VpnTunnel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	region    string
+	vpntunnel *VpnTunnel
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a VpnTunnel resource in the specified project and
 // region using the data included in the request.
 func (r *VpnTunnelsService) Insert(project string, region string, vpntunnel *VpnTunnel) *VpnTunnelsInsertCall {
-	c := &VpnTunnelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.vpntunnel = vpntunnel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsInsertCall) Fields(s ...googleapi.Field) *VpnTunnelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsInsertCall) Context(ctx context.Context) *VpnTunnelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -36275,9 +37497,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -36368,18 +37594,17 @@
 // method id "compute.vpnTunnels.list":
 
 type VpnTunnelsListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of VpnTunnel resources contained in the
 // specified project and region.
 func (r *VpnTunnelsService) List(project string, region string) *VpnTunnelsListCall {
-	c := &VpnTunnelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -36401,14 +37626,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *VpnTunnelsListCall) Filter(filter string) *VpnTunnelsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *VpnTunnelsListCall) MaxResults(maxResults int64) *VpnTunnelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -36425,7 +37650,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *VpnTunnelsListCall) OrderBy(orderBy string) *VpnTunnelsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -36434,15 +37659,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *VpnTunnelsListCall) PageToken(pageToken string) *VpnTunnelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsListCall) Fields(s ...googleapi.Field) *VpnTunnelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36452,13 +37677,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VpnTunnelsListCall) IfNoneMatch(entityTag string) *VpnTunnelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsListCall) Context(ctx context.Context) *VpnTunnelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -36466,17 +37691,33 @@
 
 func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36583,35 +37824,35 @@
 // method id "compute.zoneOperations.delete":
 
 type ZoneOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified zone-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zoneOperations/delete
 func (r *ZoneOperationsService) Delete(project string, zone string, operation string) *ZoneOperationsDeleteCall {
-	c := &ZoneOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsDeleteCall) Fields(s ...googleapi.Field) *ZoneOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsDeleteCall) Context(ctx context.Context) *ZoneOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -36619,9 +37860,13 @@
 
 func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -36690,30 +37935,29 @@
 // method id "compute.zoneOperations.get":
 
 type ZoneOperationsGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified zone-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zoneOperations/get
 func (r *ZoneOperationsService) Get(project string, zone string, operation string) *ZoneOperationsGetCall {
-	c := &ZoneOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsGetCall) Fields(s ...googleapi.Field) *ZoneOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36723,13 +37967,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsGetCall) IfNoneMatch(entityTag string) *ZoneOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -36737,9 +37981,13 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -36747,8 +37995,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36839,19 +38087,18 @@
 // method id "compute.zoneOperations.list":
 
 type ZoneOperationsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zoneOperations/list
 func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperationsListCall {
-	c := &ZoneOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -36873,14 +38120,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -36897,7 +38144,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *ZoneOperationsListCall) OrderBy(orderBy string) *ZoneOperationsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -36906,15 +38153,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsListCall) Fields(s ...googleapi.Field) *ZoneOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36924,13 +38171,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsListCall) IfNoneMatch(entityTag string) *ZoneOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -36938,17 +38185,33 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37055,28 +38318,27 @@
 // method id "compute.zones.get":
 
 type ZonesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified zone resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zones/get
 func (r *ZonesService) Get(project string, zone string) *ZonesGetCall {
-	c := &ZonesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZonesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZonesGetCall) Fields(s ...googleapi.Field) *ZonesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37086,13 +38348,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZonesGetCall) IfNoneMatch(entityTag string) *ZonesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZonesGetCall) Context(ctx context.Context) *ZonesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -37100,17 +38362,21 @@
 
 func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37193,18 +38459,17 @@
 // method id "compute.zones.list":
 
 type ZonesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of zone resources available to the specified
 // project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zones/list
 func (r *ZonesService) List(project string) *ZonesListCall {
-	c := &ZonesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZonesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -37225,14 +38490,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ZonesListCall) Filter(filter string) *ZonesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ZonesListCall) MaxResults(maxResults int64) *ZonesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -37249,7 +38514,7 @@
 // Currently, only sorting by name or creationTimestamp desc is
 // supported.
 func (c *ZonesListCall) OrderBy(orderBy string) *ZonesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -37258,15 +38523,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ZonesListCall) PageToken(pageToken string) *ZonesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZonesListCall) Fields(s ...googleapi.Field) *ZonesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37276,13 +38541,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZonesListCall) IfNoneMatch(entityTag string) *ZonesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZonesListCall) Context(ctx context.Context) *ZonesListCall {
 	c.ctx_ = ctx
 	return c
@@ -37290,16 +38555,32 @@
 
 func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go
index 83e1e25..f63e794 100644
--- a/compute/v1/compute-gen.go
+++ b/compute/v1/compute-gen.go
@@ -7629,17 +7629,16 @@
 // method id "compute.addresses.aggregatedList":
 
 type AddressesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of addresses grouped by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/aggregatedList
 func (r *AddressesService) AggregatedList(project string) *AddressesAggregatedListCall {
-	c := &AddressesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -7660,14 +7659,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AddressesAggregatedListCall) Filter(filter string) *AddressesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AddressesAggregatedListCall) MaxResults(maxResults int64) *AddressesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7676,15 +7675,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AddressesAggregatedListCall) PageToken(pageToken string) *AddressesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesAggregatedListCall) Fields(s ...googleapi.Field) *AddressesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7694,13 +7693,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AddressesAggregatedListCall) IfNoneMatch(entityTag string) *AddressesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesAggregatedListCall) Context(ctx context.Context) *AddressesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -7708,16 +7707,29 @@
 
 func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7811,35 +7823,35 @@
 // method id "compute.addresses.delete":
 
 type AddressesDeleteCall struct {
-	s          *Service
-	project    string
-	region     string
-	address    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	region  string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/delete
 func (r *AddressesService) Delete(project string, region string, address string) *AddressesDeleteCall {
-	c := &AddressesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesDeleteCall) Fields(s ...googleapi.Field) *AddressesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesDeleteCall) Context(ctx context.Context) *AddressesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7847,9 +7859,13 @@
 
 func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -7945,30 +7961,29 @@
 // method id "compute.addresses.get":
 
 type AddressesGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	address      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/get
 func (r *AddressesService) Get(project string, region string, address string) *AddressesGetCall {
-	c := &AddressesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesGetCall) Fields(s ...googleapi.Field) *AddressesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7978,13 +7993,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AddressesGetCall) IfNoneMatch(entityTag string) *AddressesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesGetCall) Context(ctx context.Context) *AddressesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7992,9 +8007,13 @@
 
 func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -8002,8 +8021,8 @@
 		"address": c.address,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8094,36 +8113,36 @@
 // method id "compute.addresses.insert":
 
 type AddressesInsertCall struct {
-	s          *Service
-	project    string
-	region     string
-	address    *Address
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	region  string
+	address *Address
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates an address resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/insert
 func (r *AddressesService) Insert(project string, region string, address *Address) *AddressesInsertCall {
-	c := &AddressesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesInsertCall) Fields(s ...googleapi.Field) *AddressesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesInsertCall) Context(ctx context.Context) *AddressesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8136,9 +8155,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -8229,19 +8252,18 @@
 // method id "compute.addresses.list":
 
 type AddressesListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of address resources contained within the
 // specified region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/addresses/list
 func (r *AddressesService) List(project string, region string) *AddressesListCall {
-	c := &AddressesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AddressesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -8263,14 +8285,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AddressesListCall) Filter(filter string) *AddressesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AddressesListCall) MaxResults(maxResults int64) *AddressesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8279,15 +8301,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AddressesListCall) PageToken(pageToken string) *AddressesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AddressesListCall) Fields(s ...googleapi.Field) *AddressesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8297,13 +8319,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AddressesListCall) IfNoneMatch(entityTag string) *AddressesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AddressesListCall) Context(ctx context.Context) *AddressesListCall {
 	c.ctx_ = ctx
 	return c
@@ -8311,17 +8333,30 @@
 
 func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8423,16 +8458,15 @@
 // method id "compute.autoscalers.aggregatedList":
 
 type AutoscalersAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of autoscalers grouped by scope.
 func (r *AutoscalersService) AggregatedList(project string) *AutoscalersAggregatedListCall {
-	c := &AutoscalersAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -8453,14 +8487,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AutoscalersAggregatedListCall) Filter(filter string) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AutoscalersAggregatedListCall) MaxResults(maxResults int64) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8469,15 +8503,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AutoscalersAggregatedListCall) PageToken(pageToken string) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersAggregatedListCall) Fields(s ...googleapi.Field) *AutoscalersAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8487,13 +8521,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersAggregatedListCall) IfNoneMatch(entityTag string) *AutoscalersAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersAggregatedListCall) Context(ctx context.Context) *AutoscalersAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -8501,16 +8535,29 @@
 
 func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8608,30 +8655,30 @@
 	project    string
 	zone       string
 	autoscaler string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified autoscaler resource.
 func (r *AutoscalersService) Delete(project string, zone string, autoscaler string) *AutoscalersDeleteCall {
-	c := &AutoscalersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersDeleteCall) Fields(s ...googleapi.Field) *AutoscalersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersDeleteCall) Context(ctx context.Context) *AutoscalersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8639,9 +8686,13 @@
 
 func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -8737,29 +8788,28 @@
 // method id "compute.autoscalers.get":
 
 type AutoscalersGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	autoscaler   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	zone       string
+	autoscaler string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns the specified autoscaler resource.
 func (r *AutoscalersService) Get(project string, zone string, autoscaler string) *AutoscalersGetCall {
-	c := &AutoscalersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersGetCall) Fields(s ...googleapi.Field) *AutoscalersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8769,13 +8819,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersGetCall) IfNoneMatch(entityTag string) *AutoscalersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersGetCall) Context(ctx context.Context) *AutoscalersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8783,9 +8833,13 @@
 
 func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers/{autoscaler}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -8793,8 +8847,8 @@
 		"autoscaler": c.autoscaler,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8889,31 +8943,31 @@
 	project    string
 	zone       string
 	autoscaler *Autoscaler
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates an autoscaler resource in the specified project using
 // the data included in the request.
 func (r *AutoscalersService) Insert(project string, zone string, autoscaler *Autoscaler) *AutoscalersInsertCall {
-	c := &AutoscalersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersInsertCall) Fields(s ...googleapi.Field) *AutoscalersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersInsertCall) Context(ctx context.Context) *AutoscalersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8926,9 +8980,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -9019,18 +9077,17 @@
 // method id "compute.autoscalers.list":
 
 type AutoscalersListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of autoscaler resources contained within the
 // specified zone.
 func (r *AutoscalersService) List(project string, zone string) *AutoscalersListCall {
-	c := &AutoscalersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -9052,14 +9109,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *AutoscalersListCall) Filter(filter string) *AutoscalersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *AutoscalersListCall) MaxResults(maxResults int64) *AutoscalersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9068,15 +9125,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *AutoscalersListCall) PageToken(pageToken string) *AutoscalersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersListCall) Fields(s ...googleapi.Field) *AutoscalersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9086,13 +9143,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AutoscalersListCall) IfNoneMatch(entityTag string) *AutoscalersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersListCall) Context(ctx context.Context) *AutoscalersListCall {
 	c.ctx_ = ctx
 	return c
@@ -9100,17 +9157,30 @@
 
 func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9215,8 +9285,9 @@
 	s           *Service
 	project     string
 	zone        string
+	autoscaler  string
 	autoscaler2 *Autoscaler
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -9224,25 +9295,25 @@
 // the data included in the request. This method supports patch
 // semantics.
 func (r *AutoscalersService) Patch(project string, zone string, autoscaler string, autoscaler2 *Autoscaler) *AutoscalersPatchCall {
-	c := &AutoscalersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("autoscaler", autoscaler)
+	c.autoscaler = autoscaler
 	c.autoscaler2 = autoscaler2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersPatchCall) Fields(s ...googleapi.Field) *AutoscalersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersPatchCall) Context(ctx context.Context) *AutoscalersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9255,9 +9326,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("autoscaler", fmt.Sprintf("%v", c.autoscaler))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -9360,14 +9436,14 @@
 	project    string
 	zone       string
 	autoscaler *Autoscaler
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an autoscaler resource in the specified project using
 // the data included in the request.
 func (r *AutoscalersService) Update(project string, zone string, autoscaler *Autoscaler) *AutoscalersUpdateCall {
-	c := &AutoscalersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AutoscalersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.autoscaler = autoscaler
@@ -9377,21 +9453,21 @@
 // Autoscaler sets the optional parameter "autoscaler": Name of the
 // autoscaler resource to update.
 func (c *AutoscalersUpdateCall) Autoscaler(autoscaler string) *AutoscalersUpdateCall {
-	c.urlParams_.Set("autoscaler", autoscaler)
+	c.opt_["autoscaler"] = autoscaler
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AutoscalersUpdateCall) Fields(s ...googleapi.Field) *AutoscalersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AutoscalersUpdateCall) Context(ctx context.Context) *AutoscalersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9404,9 +9480,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["autoscaler"]; ok {
+		params.Set("autoscaler", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -9506,30 +9589,30 @@
 	s              *Service
 	project        string
 	backendService string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified BackendService resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/delete
 func (r *BackendServicesService) Delete(project string, backendService string) *BackendServicesDeleteCall {
-	c := &BackendServicesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesDeleteCall) Fields(s ...googleapi.Field) *BackendServicesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesDeleteCall) Context(ctx context.Context) *BackendServicesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9537,9 +9620,13 @@
 
 func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -9629,25 +9716,24 @@
 	s              *Service
 	project        string
 	backendService string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified BackendService resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/get
 func (r *BackendServicesService) Get(project string, backendService string) *BackendServicesGetCall {
-	c := &BackendServicesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesGetCall) Fields(s ...googleapi.Field) *BackendServicesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9657,13 +9743,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackendServicesGetCall) IfNoneMatch(entityTag string) *BackendServicesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesGetCall) Context(ctx context.Context) *BackendServicesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9671,17 +9757,21 @@
 
 func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
 		"backendService": c.backendService,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9768,7 +9858,7 @@
 	project                string
 	backendService         string
 	resourcegroupreference *ResourceGroupReference
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -9776,24 +9866,24 @@
 // BackendService.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/getHealth
 func (r *BackendServicesService) GetHealth(project string, backendService string, resourcegroupreference *ResourceGroupReference) *BackendServicesGetHealthCall {
-	c := &BackendServicesGetHealthCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesGetHealthCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	c.resourcegroupreference = resourcegroupreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesGetHealthCall) Fields(s ...googleapi.Field) *BackendServicesGetHealthCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesGetHealthCall) Context(ctx context.Context) *BackendServicesGetHealthCall {
 	c.ctx_ = ctx
 	return c
@@ -9806,9 +9896,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}/getHealth")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -9902,7 +9996,7 @@
 	s              *Service
 	project        string
 	backendservice *BackendService
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -9910,23 +10004,23 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/insert
 func (r *BackendServicesService) Insert(project string, backendservice *BackendService) *BackendServicesInsertCall {
-	c := &BackendServicesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendservice = backendservice
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesInsertCall) Fields(s ...googleapi.Field) *BackendServicesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesInsertCall) Context(ctx context.Context) *BackendServicesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9939,9 +10033,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -10023,18 +10121,17 @@
 // method id "compute.backendServices.list":
 
 type BackendServicesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of BackendService resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/list
 func (r *BackendServicesService) List(project string) *BackendServicesListCall {
-	c := &BackendServicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -10055,14 +10152,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *BackendServicesListCall) Filter(filter string) *BackendServicesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *BackendServicesListCall) MaxResults(maxResults int64) *BackendServicesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10071,15 +10168,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *BackendServicesListCall) PageToken(pageToken string) *BackendServicesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesListCall) Fields(s ...googleapi.Field) *BackendServicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10089,13 +10186,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackendServicesListCall) IfNoneMatch(entityTag string) *BackendServicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesListCall) Context(ctx context.Context) *BackendServicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10103,16 +10200,29 @@
 
 func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10210,7 +10320,7 @@
 	project        string
 	backendService string
 	backendservice *BackendService
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -10218,24 +10328,24 @@
 // method supports patch semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/patch
 func (r *BackendServicesService) Patch(project string, backendService string, backendservice *BackendService) *BackendServicesPatchCall {
-	c := &BackendServicesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	c.backendservice = backendservice
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesPatchCall) Fields(s ...googleapi.Field) *BackendServicesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesPatchCall) Context(ctx context.Context) *BackendServicesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10248,9 +10358,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -10345,31 +10459,31 @@
 	project        string
 	backendService string
 	backendservice *BackendService
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Update the entire content of the BackendService resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/update
 func (r *BackendServicesService) Update(project string, backendService string, backendservice *BackendService) *BackendServicesUpdateCall {
-	c := &BackendServicesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackendServicesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.backendService = backendService
 	c.backendservice = backendservice
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackendServicesUpdateCall) Fields(s ...googleapi.Field) *BackendServicesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackendServicesUpdateCall) Context(ctx context.Context) *BackendServicesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10382,9 +10496,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -10475,18 +10593,17 @@
 // method id "compute.diskTypes.aggregatedList":
 
 type DiskTypesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of disk type resources grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/diskTypes/aggregatedList
 func (r *DiskTypesService) AggregatedList(project string) *DiskTypesAggregatedListCall {
-	c := &DiskTypesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DiskTypesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -10507,14 +10624,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DiskTypesAggregatedListCall) Filter(filter string) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DiskTypesAggregatedListCall) MaxResults(maxResults int64) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10523,15 +10640,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DiskTypesAggregatedListCall) PageToken(pageToken string) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DiskTypesAggregatedListCall) Fields(s ...googleapi.Field) *DiskTypesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10541,13 +10658,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DiskTypesAggregatedListCall) IfNoneMatch(entityTag string) *DiskTypesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DiskTypesAggregatedListCall) Context(ctx context.Context) *DiskTypesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -10555,16 +10672,29 @@
 
 func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/diskTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10658,30 +10788,29 @@
 // method id "compute.diskTypes.get":
 
 type DiskTypesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	diskType     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	zone     string
+	diskType string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified disk type resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/diskTypes/get
 func (r *DiskTypesService) Get(project string, zone string, diskType string) *DiskTypesGetCall {
-	c := &DiskTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DiskTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.diskType = diskType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DiskTypesGetCall) Fields(s ...googleapi.Field) *DiskTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10691,13 +10820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DiskTypesGetCall) IfNoneMatch(entityTag string) *DiskTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DiskTypesGetCall) Context(ctx context.Context) *DiskTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10705,9 +10834,13 @@
 
 func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/diskTypes/{diskType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -10715,8 +10848,8 @@
 		"diskType": c.diskType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10807,19 +10940,18 @@
 // method id "compute.diskTypes.list":
 
 type DiskTypesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of disk type resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/diskTypes/list
 func (r *DiskTypesService) List(project string, zone string) *DiskTypesListCall {
-	c := &DiskTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DiskTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -10841,14 +10973,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DiskTypesListCall) Filter(filter string) *DiskTypesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DiskTypesListCall) MaxResults(maxResults int64) *DiskTypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10857,15 +10989,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DiskTypesListCall) PageToken(pageToken string) *DiskTypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DiskTypesListCall) Fields(s ...googleapi.Field) *DiskTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10875,13 +11007,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DiskTypesListCall) IfNoneMatch(entityTag string) *DiskTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DiskTypesListCall) Context(ctx context.Context) *DiskTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10889,17 +11021,30 @@
 
 func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/diskTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11001,17 +11146,16 @@
 // method id "compute.disks.aggregatedList":
 
 type DisksAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of disks grouped by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/aggregatedList
 func (r *DisksService) AggregatedList(project string) *DisksAggregatedListCall {
-	c := &DisksAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -11032,14 +11176,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DisksAggregatedListCall) Filter(filter string) *DisksAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DisksAggregatedListCall) MaxResults(maxResults int64) *DisksAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11048,15 +11192,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DisksAggregatedListCall) PageToken(pageToken string) *DisksAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksAggregatedListCall) Fields(s ...googleapi.Field) *DisksAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11066,13 +11210,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DisksAggregatedListCall) IfNoneMatch(entityTag string) *DisksAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksAggregatedListCall) Context(ctx context.Context) *DisksAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -11080,16 +11224,29 @@
 
 func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/disks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11183,19 +11340,19 @@
 // method id "compute.disks.createSnapshot":
 
 type DisksCreateSnapshotCall struct {
-	s          *Service
-	project    string
-	zone       string
-	disk       string
-	snapshot   *Snapshot
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	disk     string
+	snapshot *Snapshot
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // CreateSnapshot: Creates a snapshot of this disk.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/createSnapshot
 func (r *DisksService) CreateSnapshot(project string, zone string, disk string, snapshot *Snapshot) *DisksCreateSnapshotCall {
-	c := &DisksCreateSnapshotCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksCreateSnapshotCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
@@ -11203,17 +11360,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksCreateSnapshotCall) Fields(s ...googleapi.Field) *DisksCreateSnapshotCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksCreateSnapshotCall) Context(ctx context.Context) *DisksCreateSnapshotCall {
 	c.ctx_ = ctx
 	return c
@@ -11226,9 +11383,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}/createSnapshot")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -11328,12 +11489,12 @@
 // method id "compute.disks.delete":
 
 type DisksDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	disk       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	zone    string
+	disk    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified persistent disk. Deleting a disk
@@ -11342,24 +11503,24 @@
 // must separately delete snapshots.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/delete
 func (r *DisksService) Delete(project string, zone string, disk string) *DisksDeleteCall {
-	c := &DisksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksDeleteCall) Fields(s ...googleapi.Field) *DisksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksDeleteCall) Context(ctx context.Context) *DisksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11367,9 +11528,13 @@
 
 func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -11465,30 +11630,29 @@
 // method id "compute.disks.get":
 
 type DisksGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	disk         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	disk    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns a specified persistent disk.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/get
 func (r *DisksService) Get(project string, zone string, disk string) *DisksGetCall {
-	c := &DisksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksGetCall) Fields(s ...googleapi.Field) *DisksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11498,13 +11662,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DisksGetCall) IfNoneMatch(entityTag string) *DisksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksGetCall) Context(ctx context.Context) *DisksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11512,9 +11676,13 @@
 
 func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -11522,8 +11690,8 @@
 		"disk":    c.disk,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11614,19 +11782,19 @@
 // method id "compute.disks.insert":
 
 type DisksInsertCall struct {
-	s          *Service
-	project    string
-	zone       string
-	disk       *Disk
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	zone    string
+	disk    *Disk
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a persistent disk in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/insert
 func (r *DisksService) Insert(project string, zone string, disk *Disk) *DisksInsertCall {
-	c := &DisksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.disk = disk
@@ -11636,21 +11804,21 @@
 // SourceImage sets the optional parameter "sourceImage": Source image
 // to restore onto a disk.
 func (c *DisksInsertCall) SourceImage(sourceImage string) *DisksInsertCall {
-	c.urlParams_.Set("sourceImage", sourceImage)
+	c.opt_["sourceImage"] = sourceImage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksInsertCall) Fields(s ...googleapi.Field) *DisksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksInsertCall) Context(ctx context.Context) *DisksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -11663,9 +11831,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["sourceImage"]; ok {
+		params.Set("sourceImage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -11761,19 +11936,18 @@
 // method id "compute.disks.list":
 
 type DisksListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of persistent disks contained within the
 // specified zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/disks/list
 func (r *DisksService) List(project string, zone string) *DisksListCall {
-	c := &DisksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DisksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -11795,14 +11969,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DisksListCall) Filter(filter string) *DisksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DisksListCall) MaxResults(maxResults int64) *DisksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11811,15 +11985,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DisksListCall) PageToken(pageToken string) *DisksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DisksListCall) Fields(s ...googleapi.Field) *DisksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11829,13 +12003,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DisksListCall) IfNoneMatch(entityTag string) *DisksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DisksListCall) Context(ctx context.Context) *DisksListCall {
 	c.ctx_ = ctx
 	return c
@@ -11843,17 +12017,30 @@
 
 func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11955,33 +12142,33 @@
 // method id "compute.firewalls.delete":
 
 type FirewallsDeleteCall struct {
-	s          *Service
-	project    string
-	firewall   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	firewall string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified firewall resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/delete
 func (r *FirewallsService) Delete(project string, firewall string) *FirewallsDeleteCall {
-	c := &FirewallsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsDeleteCall) Fields(s ...googleapi.Field) *FirewallsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsDeleteCall) Context(ctx context.Context) *FirewallsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11989,9 +12176,13 @@
 
 func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -12078,28 +12269,27 @@
 // method id "compute.firewalls.get":
 
 type FirewallsGetCall struct {
-	s            *Service
-	project      string
-	firewall     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	firewall string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified firewall resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/get
 func (r *FirewallsService) Get(project string, firewall string) *FirewallsGetCall {
-	c := &FirewallsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsGetCall) Fields(s ...googleapi.Field) *FirewallsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12109,13 +12299,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FirewallsGetCall) IfNoneMatch(entityTag string) *FirewallsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsGetCall) Context(ctx context.Context) *FirewallsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12123,17 +12313,21 @@
 
 func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"firewall": c.firewall,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12216,34 +12410,34 @@
 // method id "compute.firewalls.insert":
 
 type FirewallsInsertCall struct {
-	s          *Service
-	project    string
-	firewall   *Firewall
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	firewall *Firewall
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a firewall resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/insert
 func (r *FirewallsService) Insert(project string, firewall *Firewall) *FirewallsInsertCall {
-	c := &FirewallsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsInsertCall) Fields(s ...googleapi.Field) *FirewallsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsInsertCall) Context(ctx context.Context) *FirewallsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12256,9 +12450,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -12340,18 +12538,17 @@
 // method id "compute.firewalls.list":
 
 type FirewallsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of firewall resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/list
 func (r *FirewallsService) List(project string) *FirewallsListCall {
-	c := &FirewallsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -12372,14 +12569,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *FirewallsListCall) Filter(filter string) *FirewallsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *FirewallsListCall) MaxResults(maxResults int64) *FirewallsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12388,15 +12585,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *FirewallsListCall) PageToken(pageToken string) *FirewallsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsListCall) Fields(s ...googleapi.Field) *FirewallsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12406,13 +12603,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FirewallsListCall) IfNoneMatch(entityTag string) *FirewallsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsListCall) Context(ctx context.Context) *FirewallsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12420,16 +12617,29 @@
 
 func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12523,36 +12733,36 @@
 // method id "compute.firewalls.patch":
 
 type FirewallsPatchCall struct {
-	s          *Service
-	project    string
-	firewall   string
-	firewall2  *Firewall
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	firewall  string
+	firewall2 *Firewall
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates the specified firewall resource with the data included
 // in the request. This method supports patch semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/patch
 func (r *FirewallsService) Patch(project string, firewall string, firewall2 *Firewall) *FirewallsPatchCall {
-	c := &FirewallsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	c.firewall2 = firewall2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsPatchCall) Fields(s ...googleapi.Field) *FirewallsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsPatchCall) Context(ctx context.Context) *FirewallsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12565,9 +12775,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -12658,36 +12872,36 @@
 // method id "compute.firewalls.update":
 
 type FirewallsUpdateCall struct {
-	s          *Service
-	project    string
-	firewall   string
-	firewall2  *Firewall
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	firewall  string
+	firewall2 *Firewall
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates the specified firewall resource with the data
 // included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/update
 func (r *FirewallsService) Update(project string, firewall string, firewall2 *Firewall) *FirewallsUpdateCall {
-	c := &FirewallsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FirewallsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.firewall = firewall
 	c.firewall2 = firewall2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FirewallsUpdateCall) Fields(s ...googleapi.Field) *FirewallsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FirewallsUpdateCall) Context(ctx context.Context) *FirewallsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -12700,9 +12914,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -12793,18 +13011,17 @@
 // method id "compute.forwardingRules.aggregatedList":
 
 type ForwardingRulesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of forwarding rules grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/aggregatedList
 func (r *ForwardingRulesService) AggregatedList(project string) *ForwardingRulesAggregatedListCall {
-	c := &ForwardingRulesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -12825,14 +13042,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ForwardingRulesAggregatedListCall) Filter(filter string) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ForwardingRulesAggregatedListCall) MaxResults(maxResults int64) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12841,15 +13058,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ForwardingRulesAggregatedListCall) PageToken(pageToken string) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesAggregatedListCall) Fields(s ...googleapi.Field) *ForwardingRulesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12859,13 +13076,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ForwardingRulesAggregatedListCall) IfNoneMatch(entityTag string) *ForwardingRulesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesAggregatedListCall) Context(ctx context.Context) *ForwardingRulesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -12873,16 +13090,29 @@
 
 func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12980,31 +13210,31 @@
 	project        string
 	region         string
 	forwardingRule string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/delete
 func (r *ForwardingRulesService) Delete(project string, region string, forwardingRule string) *ForwardingRulesDeleteCall {
-	c := &ForwardingRulesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesDeleteCall) Fields(s ...googleapi.Field) *ForwardingRulesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesDeleteCall) Context(ctx context.Context) *ForwardingRulesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13012,9 +13242,13 @@
 
 func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -13114,26 +13348,25 @@
 	project        string
 	region         string
 	forwardingRule string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/get
 func (r *ForwardingRulesService) Get(project string, region string, forwardingRule string) *ForwardingRulesGetCall {
-	c := &ForwardingRulesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesGetCall) Fields(s ...googleapi.Field) *ForwardingRulesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13143,13 +13376,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ForwardingRulesGetCall) IfNoneMatch(entityTag string) *ForwardingRulesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesGetCall) Context(ctx context.Context) *ForwardingRulesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13157,9 +13390,13 @@
 
 func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -13167,8 +13404,8 @@
 		"forwardingRule": c.forwardingRule,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13263,7 +13500,7 @@
 	project        string
 	region         string
 	forwardingrule *ForwardingRule
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -13271,24 +13508,24 @@
 // and region using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/insert
 func (r *ForwardingRulesService) Insert(project string, region string, forwardingrule *ForwardingRule) *ForwardingRulesInsertCall {
-	c := &ForwardingRulesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingrule = forwardingrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesInsertCall) Fields(s ...googleapi.Field) *ForwardingRulesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesInsertCall) Context(ctx context.Context) *ForwardingRulesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13301,9 +13538,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -13394,19 +13635,18 @@
 // method id "compute.forwardingRules.list":
 
 type ForwardingRulesListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of ForwardingRule resources available to the
 // specified project and region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/list
 func (r *ForwardingRulesService) List(project string, region string) *ForwardingRulesListCall {
-	c := &ForwardingRulesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -13428,14 +13668,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ForwardingRulesListCall) Filter(filter string) *ForwardingRulesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ForwardingRulesListCall) MaxResults(maxResults int64) *ForwardingRulesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13444,15 +13684,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ForwardingRulesListCall) PageToken(pageToken string) *ForwardingRulesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesListCall) Fields(s ...googleapi.Field) *ForwardingRulesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13462,13 +13702,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ForwardingRulesListCall) IfNoneMatch(entityTag string) *ForwardingRulesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesListCall) Context(ctx context.Context) *ForwardingRulesListCall {
 	c.ctx_ = ctx
 	return c
@@ -13476,17 +13716,30 @@
 
 func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13593,14 +13846,14 @@
 	region          string
 	forwardingRule  string
 	targetreference *TargetReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetTarget: Changes target url for forwarding rule.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/forwardingRules/setTarget
 func (r *ForwardingRulesService) SetTarget(project string, region string, forwardingRule string, targetreference *TargetReference) *ForwardingRulesSetTargetCall {
-	c := &ForwardingRulesSetTargetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ForwardingRulesSetTargetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.forwardingRule = forwardingRule
@@ -13608,17 +13861,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ForwardingRulesSetTargetCall) Fields(s ...googleapi.Field) *ForwardingRulesSetTargetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ForwardingRulesSetTargetCall) Context(ctx context.Context) *ForwardingRulesSetTargetCall {
 	c.ctx_ = ctx
 	return c
@@ -13631,9 +13884,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -13733,33 +13990,33 @@
 // method id "compute.globalAddresses.delete":
 
 type GlobalAddressesDeleteCall struct {
-	s          *Service
-	project    string
-	address    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/delete
 func (r *GlobalAddressesService) Delete(project string, address string) *GlobalAddressesDeleteCall {
-	c := &GlobalAddressesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesDeleteCall) Fields(s ...googleapi.Field) *GlobalAddressesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesDeleteCall) Context(ctx context.Context) *GlobalAddressesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13767,9 +14024,13 @@
 
 func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -13856,28 +14117,27 @@
 // method id "compute.globalAddresses.get":
 
 type GlobalAddressesGetCall struct {
-	s            *Service
-	project      string
-	address      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	address string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified address resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/get
 func (r *GlobalAddressesService) Get(project string, address string) *GlobalAddressesGetCall {
-	c := &GlobalAddressesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesGetCall) Fields(s ...googleapi.Field) *GlobalAddressesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13887,13 +14147,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAddressesGetCall) IfNoneMatch(entityTag string) *GlobalAddressesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesGetCall) Context(ctx context.Context) *GlobalAddressesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13901,17 +14161,21 @@
 
 func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses/{address}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"address": c.address,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13994,34 +14258,34 @@
 // method id "compute.globalAddresses.insert":
 
 type GlobalAddressesInsertCall struct {
-	s          *Service
-	project    string
-	address    *Address
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	address *Address
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates an address resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/insert
 func (r *GlobalAddressesService) Insert(project string, address *Address) *GlobalAddressesInsertCall {
-	c := &GlobalAddressesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.address = address
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesInsertCall) Fields(s ...googleapi.Field) *GlobalAddressesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesInsertCall) Context(ctx context.Context) *GlobalAddressesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14034,9 +14298,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -14118,17 +14386,16 @@
 // method id "compute.globalAddresses.list":
 
 type GlobalAddressesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of global address resources.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalAddresses/list
 func (r *GlobalAddressesService) List(project string) *GlobalAddressesListCall {
-	c := &GlobalAddressesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalAddressesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -14149,14 +14416,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalAddressesListCall) Filter(filter string) *GlobalAddressesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalAddressesListCall) MaxResults(maxResults int64) *GlobalAddressesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14165,15 +14432,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalAddressesListCall) PageToken(pageToken string) *GlobalAddressesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalAddressesListCall) Fields(s ...googleapi.Field) *GlobalAddressesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14183,13 +14450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalAddressesListCall) IfNoneMatch(entityTag string) *GlobalAddressesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalAddressesListCall) Context(ctx context.Context) *GlobalAddressesListCall {
 	c.ctx_ = ctx
 	return c
@@ -14197,16 +14464,29 @@
 
 func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14303,30 +14583,30 @@
 	s              *Service
 	project        string
 	forwardingRule string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/delete
 func (r *GlobalForwardingRulesService) Delete(project string, forwardingRule string) *GlobalForwardingRulesDeleteCall {
-	c := &GlobalForwardingRulesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesDeleteCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesDeleteCall) Context(ctx context.Context) *GlobalForwardingRulesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -14334,9 +14614,13 @@
 
 func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -14426,25 +14710,24 @@
 	s              *Service
 	project        string
 	forwardingRule string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified ForwardingRule resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/get
 func (r *GlobalForwardingRulesService) Get(project string, forwardingRule string) *GlobalForwardingRulesGetCall {
-	c := &GlobalForwardingRulesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingRule = forwardingRule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesGetCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14454,13 +14737,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalForwardingRulesGetCall) IfNoneMatch(entityTag string) *GlobalForwardingRulesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesGetCall) Context(ctx context.Context) *GlobalForwardingRulesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -14468,17 +14751,21 @@
 
 func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
 		"forwardingRule": c.forwardingRule,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14564,7 +14851,7 @@
 	s              *Service
 	project        string
 	forwardingrule *ForwardingRule
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -14572,23 +14859,23 @@
 // and region using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/insert
 func (r *GlobalForwardingRulesService) Insert(project string, forwardingrule *ForwardingRule) *GlobalForwardingRulesInsertCall {
-	c := &GlobalForwardingRulesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingrule = forwardingrule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesInsertCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesInsertCall) Context(ctx context.Context) *GlobalForwardingRulesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14601,9 +14888,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -14685,18 +14976,17 @@
 // method id "compute.globalForwardingRules.list":
 
 type GlobalForwardingRulesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of ForwardingRule resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/list
 func (r *GlobalForwardingRulesService) List(project string) *GlobalForwardingRulesListCall {
-	c := &GlobalForwardingRulesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -14717,14 +15007,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalForwardingRulesListCall) Filter(filter string) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalForwardingRulesListCall) MaxResults(maxResults int64) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14733,15 +15023,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalForwardingRulesListCall) PageToken(pageToken string) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesListCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14751,13 +15041,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalForwardingRulesListCall) IfNoneMatch(entityTag string) *GlobalForwardingRulesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesListCall) Context(ctx context.Context) *GlobalForwardingRulesListCall {
 	c.ctx_ = ctx
 	return c
@@ -14765,16 +15055,29 @@
 
 func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14872,31 +15175,31 @@
 	project         string
 	forwardingRule  string
 	targetreference *TargetReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetTarget: Changes target url for forwarding rule.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/setTarget
 func (r *GlobalForwardingRulesService) SetTarget(project string, forwardingRule string, targetreference *TargetReference) *GlobalForwardingRulesSetTargetCall {
-	c := &GlobalForwardingRulesSetTargetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalForwardingRulesSetTargetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.forwardingRule = forwardingRule
 	c.targetreference = targetreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalForwardingRulesSetTargetCall) Fields(s ...googleapi.Field) *GlobalForwardingRulesSetTargetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalForwardingRulesSetTargetCall) Context(ctx context.Context) *GlobalForwardingRulesSetTargetCall {
 	c.ctx_ = ctx
 	return c
@@ -14909,9 +15212,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}/setTarget")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -15002,18 +15309,17 @@
 // method id "compute.globalOperations.aggregatedList":
 
 type GlobalOperationsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of all operations grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/aggregatedList
 func (r *GlobalOperationsService) AggregatedList(project string) *GlobalOperationsAggregatedListCall {
-	c := &GlobalOperationsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -15034,14 +15340,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalOperationsAggregatedListCall) Filter(filter string) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalOperationsAggregatedListCall) MaxResults(maxResults int64) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -15050,15 +15356,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalOperationsAggregatedListCall) PageToken(pageToken string) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsAggregatedListCall) Fields(s ...googleapi.Field) *GlobalOperationsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15068,13 +15374,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalOperationsAggregatedListCall) IfNoneMatch(entityTag string) *GlobalOperationsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsAggregatedListCall) Context(ctx context.Context) *GlobalOperationsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -15082,16 +15388,29 @@
 
 func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15185,33 +15504,33 @@
 // method id "compute.globalOperations.delete":
 
 type GlobalOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/delete
 func (r *GlobalOperationsService) Delete(project string, operation string) *GlobalOperationsDeleteCall {
-	c := &GlobalOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsDeleteCall) Fields(s ...googleapi.Field) *GlobalOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsDeleteCall) Context(ctx context.Context) *GlobalOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -15219,9 +15538,13 @@
 
 func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -15281,28 +15604,27 @@
 // method id "compute.globalOperations.get":
 
 type GlobalOperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/get
 func (r *GlobalOperationsService) Get(project string, operation string) *GlobalOperationsGetCall {
-	c := &GlobalOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsGetCall) Fields(s ...googleapi.Field) *GlobalOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15312,13 +15634,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalOperationsGetCall) IfNoneMatch(entityTag string) *GlobalOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsGetCall) Context(ctx context.Context) *GlobalOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -15326,17 +15648,21 @@
 
 func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15419,18 +15745,17 @@
 // method id "compute.globalOperations.list":
 
 type GlobalOperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/globalOperations/list
 func (r *GlobalOperationsService) List(project string) *GlobalOperationsListCall {
-	c := &GlobalOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GlobalOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -15451,14 +15776,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *GlobalOperationsListCall) Filter(filter string) *GlobalOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *GlobalOperationsListCall) MaxResults(maxResults int64) *GlobalOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -15467,15 +15792,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *GlobalOperationsListCall) PageToken(pageToken string) *GlobalOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GlobalOperationsListCall) Fields(s ...googleapi.Field) *GlobalOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15485,13 +15810,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GlobalOperationsListCall) IfNoneMatch(entityTag string) *GlobalOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GlobalOperationsListCall) Context(ctx context.Context) *GlobalOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -15499,16 +15824,29 @@
 
 func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15605,30 +15943,30 @@
 	s               *Service
 	project         string
 	httpHealthCheck string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes the specified HttpHealthCheck resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/delete
 func (r *HttpHealthChecksService) Delete(project string, httpHealthCheck string) *HttpHealthChecksDeleteCall {
-	c := &HttpHealthChecksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksDeleteCall) Fields(s ...googleapi.Field) *HttpHealthChecksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksDeleteCall) Context(ctx context.Context) *HttpHealthChecksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -15636,9 +15974,13 @@
 
 func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -15728,25 +16070,24 @@
 	s               *Service
 	project         string
 	httpHealthCheck string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Returns the specified HttpHealthCheck resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/get
 func (r *HttpHealthChecksService) Get(project string, httpHealthCheck string) *HttpHealthChecksGetCall {
-	c := &HttpHealthChecksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksGetCall) Fields(s ...googleapi.Field) *HttpHealthChecksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15756,13 +16097,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *HttpHealthChecksGetCall) IfNoneMatch(entityTag string) *HttpHealthChecksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksGetCall) Context(ctx context.Context) *HttpHealthChecksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -15770,17 +16111,21 @@
 
 func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
 		"httpHealthCheck": c.httpHealthCheck,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15866,7 +16211,7 @@
 	s               *Service
 	project         string
 	httphealthcheck *HttpHealthCheck
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -15874,23 +16219,23 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/insert
 func (r *HttpHealthChecksService) Insert(project string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksInsertCall {
-	c := &HttpHealthChecksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httphealthcheck = httphealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksInsertCall) Fields(s ...googleapi.Field) *HttpHealthChecksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksInsertCall) Context(ctx context.Context) *HttpHealthChecksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15903,9 +16248,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -15987,18 +16336,17 @@
 // method id "compute.httpHealthChecks.list":
 
 type HttpHealthChecksListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of HttpHealthCheck resources available to
 // the specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/list
 func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall {
-	c := &HttpHealthChecksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -16019,14 +16367,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *HttpHealthChecksListCall) MaxResults(maxResults int64) *HttpHealthChecksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16035,15 +16383,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *HttpHealthChecksListCall) PageToken(pageToken string) *HttpHealthChecksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksListCall) Fields(s ...googleapi.Field) *HttpHealthChecksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16053,13 +16401,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *HttpHealthChecksListCall) IfNoneMatch(entityTag string) *HttpHealthChecksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksListCall) Context(ctx context.Context) *HttpHealthChecksListCall {
 	c.ctx_ = ctx
 	return c
@@ -16067,16 +16415,29 @@
 
 func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16174,7 +16535,7 @@
 	project         string
 	httpHealthCheck string
 	httphealthcheck *HttpHealthCheck
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -16183,24 +16544,24 @@
 // semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/patch
 func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksPatchCall {
-	c := &HttpHealthChecksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	c.httphealthcheck = httphealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksPatchCall) Fields(s ...googleapi.Field) *HttpHealthChecksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksPatchCall) Context(ctx context.Context) *HttpHealthChecksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -16213,9 +16574,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -16310,7 +16675,7 @@
 	project         string
 	httpHealthCheck string
 	httphealthcheck *HttpHealthCheck
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -16318,24 +16683,24 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/update
 func (r *HttpHealthChecksService) Update(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksUpdateCall {
-	c := &HttpHealthChecksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HttpHealthChecksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.httpHealthCheck = httpHealthCheck
 	c.httphealthcheck = httphealthcheck
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HttpHealthChecksUpdateCall) Fields(s ...googleapi.Field) *HttpHealthChecksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HttpHealthChecksUpdateCall) Context(ctx context.Context) *HttpHealthChecksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -16348,9 +16713,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -16441,33 +16810,33 @@
 // method id "compute.images.delete":
 
 type ImagesDeleteCall struct {
-	s          *Service
-	project    string
-	image      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	image   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified image resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/delete
 func (r *ImagesService) Delete(project string, image string) *ImagesDeleteCall {
-	c := &ImagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesDeleteCall) Fields(s ...googleapi.Field) *ImagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesDeleteCall) Context(ctx context.Context) *ImagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -16475,9 +16844,13 @@
 
 func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -16568,7 +16941,7 @@
 	project           string
 	image             string
 	deprecationstatus *DeprecationStatus
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -16578,24 +16951,24 @@
 // instead.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/deprecate
 func (r *ImagesService) Deprecate(project string, image string, deprecationstatus *DeprecationStatus) *ImagesDeprecateCall {
-	c := &ImagesDeprecateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesDeprecateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	c.deprecationstatus = deprecationstatus
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesDeprecateCall) Fields(s ...googleapi.Field) *ImagesDeprecateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesDeprecateCall) Context(ctx context.Context) *ImagesDeprecateCall {
 	c.ctx_ = ctx
 	return c
@@ -16608,9 +16981,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}/deprecate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -16701,28 +17078,27 @@
 // method id "compute.images.get":
 
 type ImagesGetCall struct {
-	s            *Service
-	project      string
-	image        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	image   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified image resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/get
 func (r *ImagesService) Get(project string, image string) *ImagesGetCall {
-	c := &ImagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesGetCall) Fields(s ...googleapi.Field) *ImagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16732,13 +17108,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ImagesGetCall) IfNoneMatch(entityTag string) *ImagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesGetCall) Context(ctx context.Context) *ImagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -16746,17 +17122,21 @@
 
 func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"image":   c.image,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16839,34 +17219,34 @@
 // method id "compute.images.insert":
 
 type ImagesInsertCall struct {
-	s          *Service
-	project    string
-	image      *Image
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	image   *Image
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates an image resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/insert
 func (r *ImagesService) Insert(project string, image *Image) *ImagesInsertCall {
-	c := &ImagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.image = image
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesInsertCall) Fields(s ...googleapi.Field) *ImagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesInsertCall) Context(ctx context.Context) *ImagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -16879,9 +17259,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -16966,18 +17350,17 @@
 // method id "compute.images.list":
 
 type ImagesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of image resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/images/list
 func (r *ImagesService) List(project string) *ImagesListCall {
-	c := &ImagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -16998,14 +17381,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ImagesListCall) MaxResults(maxResults int64) *ImagesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -17014,15 +17397,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ImagesListCall) PageToken(pageToken string) *ImagesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImagesListCall) Fields(s ...googleapi.Field) *ImagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17032,13 +17415,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ImagesListCall) IfNoneMatch(entityTag string) *ImagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ImagesListCall) Context(ctx context.Context) *ImagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -17046,16 +17429,29 @@
 
 func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17154,7 +17550,7 @@
 	zone                                         string
 	instanceGroupManager                         string
 	instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest
-	urlParams_                                   internal.URLParams
+	opt_                                         map[string]interface{}
 	ctx_                                         context.Context
 }
 
@@ -17164,7 +17560,7 @@
 // automatically reduces its targetSize value by the number of instances
 // that you abandon from the group.
 func (r *InstanceGroupManagersService) AbandonInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest) *InstanceGroupManagersAbandonInstancesCall {
-	c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -17172,17 +17568,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAbandonInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *InstanceGroupManagersAbandonInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -17195,9 +17591,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -17295,17 +17695,16 @@
 // method id "compute.instanceGroupManagers.aggregatedList":
 
 type InstanceGroupManagersAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of managed instance groups, and
 // groups them by project and zone.
 func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceGroupManagersAggregatedListCall {
-	c := &InstanceGroupManagersAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -17326,14 +17725,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupManagersAggregatedListCall) Filter(filter string) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupManagersAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -17342,15 +17741,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupManagersAggregatedListCall) PageToken(pageToken string) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17360,13 +17759,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersAggregatedListCall) Context(ctx context.Context) *InstanceGroupManagersAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -17374,16 +17773,29 @@
 
 func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17482,30 +17894,30 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Delete: Deletes the specified managed instance group resource.
 func (r *InstanceGroupManagersService) Delete(project string, zone string, instanceGroupManager string) *InstanceGroupManagersDeleteCall {
-	c := &InstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersDeleteCall) Context(ctx context.Context) *InstanceGroupManagersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -17513,9 +17925,13 @@
 
 func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -17614,7 +18030,7 @@
 	zone                                        string
 	instanceGroupManager                        string
 	instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest
-	urlParams_                                  internal.URLParams
+	opt_                                        map[string]interface{}
 	ctx_                                        context.Context
 }
 
@@ -17624,7 +18040,7 @@
 // reduces its targetSize value by the number of instances that you
 // delete.
 func (r *InstanceGroupManagersService) DeleteInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest) *InstanceGroupManagersDeleteInstancesCall {
-	c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -17632,17 +18048,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *InstanceGroupManagersDeleteInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -17655,9 +18071,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -17759,25 +18179,24 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
-	ifNoneMatch_         string
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Get: Returns the specified managed instance group resource.
 func (r *InstanceGroupManagersService) Get(project string, zone string, instanceGroupManager string) *InstanceGroupManagersGetCall {
-	c := &InstanceGroupManagersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17787,13 +18206,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersGetCall) Context(ctx context.Context) *InstanceGroupManagersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17801,9 +18220,13 @@
 
 func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -17811,8 +18234,8 @@
 		"instanceGroupManager": c.instanceGroupManager,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17905,31 +18328,31 @@
 	project              string
 	zone                 string
 	instancegroupmanager *InstanceGroupManager
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Insert: Creates a managed instance group resource in the specified
 // project using the data that is included in the request.
 func (r *InstanceGroupManagersService) Insert(project string, zone string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersInsertCall {
-	c := &InstanceGroupManagersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instancegroupmanager = instancegroupmanager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersInsertCall) Context(ctx context.Context) *InstanceGroupManagersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17942,9 +18365,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -18034,18 +18461,17 @@
 // method id "compute.instanceGroupManagers.list":
 
 type InstanceGroupManagersListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of managed instance groups that are contained
 // within the specified project and zone.
 func (r *InstanceGroupManagersService) List(project string, zone string) *InstanceGroupManagersListCall {
-	c := &InstanceGroupManagersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -18067,14 +18493,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -18083,15 +18509,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupManagersListCall) PageToken(pageToken string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18101,13 +18527,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersListCall) Context(ctx context.Context) *InstanceGroupManagersListCall {
 	c.ctx_ = ctx
 	return c
@@ -18115,17 +18541,30 @@
 
 func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18230,30 +18669,30 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // ListManagedInstances: Lists managed instances.
 func (r *InstanceGroupManagersService) ListManagedInstances(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListManagedInstancesCall {
-	c := &InstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersListManagedInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListManagedInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *InstanceGroupManagersListManagedInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -18261,9 +18700,13 @@
 
 func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -18365,7 +18808,7 @@
 	zone                                          string
 	instanceGroupManager                          string
 	instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest
-	urlParams_                                    internal.URLParams
+	opt_                                          map[string]interface{}
 	ctx_                                          context.Context
 }
 
@@ -18373,7 +18816,7 @@
 // are deleted, then recreated using the managed instance group's
 // current instance template.
 func (r *InstanceGroupManagersService) RecreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest) *InstanceGroupManagersRecreateInstancesCall {
-	c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -18381,17 +18824,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersRecreateInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersRecreateInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -18404,9 +18847,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -18508,7 +18955,8 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	size                 int64
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
@@ -18517,25 +18965,25 @@
 // If you decrease the size, the group removes instances in the order
 // that is outlined in Resizing a managed instance group.
 func (r *InstanceGroupManagersService) Resize(project string, zone string, instanceGroupManager string, size int64) *InstanceGroupManagersResizeCall {
-	c := &InstanceGroupManagersResizeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersResizeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
-	c.urlParams_.Set("size", fmt.Sprintf("%v", size))
+	c.size = size
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResizeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersResizeCall) Context(ctx context.Context) *InstanceGroupManagersResizeCall {
 	c.ctx_ = ctx
 	return c
@@ -18543,9 +18991,14 @@
 
 func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("size", fmt.Sprintf("%v", c.size))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -18652,7 +19105,7 @@
 	zone                                            string
 	instanceGroupManager                            string
 	instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
@@ -18660,7 +19113,7 @@
 // creating new instances in this group. The templates for existing
 // instances in the group do not change unless you recreate them.
 func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone string, instanceGroupManager string, instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest) *InstanceGroupManagersSetInstanceTemplateCall {
-	c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -18668,17 +19121,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetInstanceTemplateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *InstanceGroupManagersSetInstanceTemplateCall {
 	c.ctx_ = ctx
 	return c
@@ -18691,9 +19144,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -18796,7 +19253,7 @@
 	zone                                       string
 	instanceGroupManager                       string
 	instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
@@ -18804,7 +19261,7 @@
 // in this group are assigned. The target pools for existing instances
 // in the group do not change unless you recreate them.
 func (r *InstanceGroupManagersService) SetTargetPools(project string, zone string, instanceGroupManager string, instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest) *InstanceGroupManagersSetTargetPoolsCall {
-	c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -18812,17 +19269,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetTargetPoolsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *InstanceGroupManagersSetTargetPoolsCall {
 	c.ctx_ = ctx
 	return c
@@ -18835,9 +19292,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -18940,14 +19401,14 @@
 	zone                              string
 	instanceGroup                     string
 	instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // AddInstances: Adds a list of instances to an instance group. All of
 // the instances in the instance group must be in the same network.
 func (r *InstanceGroupsService) AddInstances(project string, zone string, instanceGroup string, instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest) *InstanceGroupsAddInstancesCall {
-	c := &InstanceGroupsAddInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsAddInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -18955,17 +19416,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsAddInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsAddInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsAddInstancesCall) Context(ctx context.Context) *InstanceGroupsAddInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -18978,9 +19439,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -19078,17 +19543,16 @@
 // method id "compute.instanceGroups.aggregatedList":
 
 type InstanceGroupsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of instance groups, and sorts them
 // by zone.
 func (r *InstanceGroupsService) AggregatedList(project string) *InstanceGroupsAggregatedListCall {
-	c := &InstanceGroupsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -19109,14 +19573,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupsAggregatedListCall) Filter(filter string) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupsAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -19125,15 +19589,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupsAggregatedListCall) PageToken(pageToken string) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsAggregatedListCall) Fields(s ...googleapi.Field) *InstanceGroupsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19143,13 +19607,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupsAggregatedListCall) IfNoneMatch(entityTag string) *InstanceGroupsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsAggregatedListCall) Context(ctx context.Context) *InstanceGroupsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -19157,16 +19621,29 @@
 
 func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instanceGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19264,30 +19741,30 @@
 	project       string
 	zone          string
 	instanceGroup string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes the specified instance group.
 func (r *InstanceGroupsService) Delete(project string, zone string, instanceGroup string) *InstanceGroupsDeleteCall {
-	c := &InstanceGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsDeleteCall) Context(ctx context.Context) *InstanceGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -19295,9 +19772,13 @@
 
 func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -19395,25 +19876,24 @@
 	project       string
 	zone          string
 	instanceGroup string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Returns the specified instance group resource.
 func (r *InstanceGroupsService) Get(project string, zone string, instanceGroup string) *InstanceGroupsGetCall {
-	c := &InstanceGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsGetCall) Fields(s ...googleapi.Field) *InstanceGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19423,13 +19903,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupsGetCall) IfNoneMatch(entityTag string) *InstanceGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsGetCall) Context(ctx context.Context) *InstanceGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -19437,9 +19917,13 @@
 
 func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -19447,8 +19931,8 @@
 		"instanceGroup": c.instanceGroup,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19541,31 +20025,31 @@
 	project       string
 	zone          string
 	instancegroup *InstanceGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Creates an instance group in the specified project using the
 // parameters that are included in the request.
 func (r *InstanceGroupsService) Insert(project string, zone string, instancegroup *InstanceGroup) *InstanceGroupsInsertCall {
-	c := &InstanceGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instancegroup = instancegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsInsertCall) Fields(s ...googleapi.Field) *InstanceGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsInsertCall) Context(ctx context.Context) *InstanceGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -19578,9 +20062,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -19670,18 +20158,17 @@
 // method id "compute.instanceGroups.list":
 
 type InstanceGroupsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of instance groups that are located in the
 // specified project and zone.
 func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroupsListCall {
-	c := &InstanceGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -19703,14 +20190,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupsListCall) MaxResults(maxResults int64) *InstanceGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -19719,15 +20206,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupsListCall) PageToken(pageToken string) *InstanceGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsListCall) Fields(s ...googleapi.Field) *InstanceGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19737,13 +20224,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupsListCall) IfNoneMatch(entityTag string) *InstanceGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsListCall) Context(ctx context.Context) *InstanceGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -19751,17 +20238,30 @@
 
 func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19867,7 +20367,7 @@
 	zone                               string
 	instanceGroup                      string
 	instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
@@ -19875,7 +20375,7 @@
 // for this method specify whether the list filters instances by state
 // and named ports information.
 func (r *InstanceGroupsService) ListInstances(project string, zone string, instanceGroup string, instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest) *InstanceGroupsListInstancesCall {
-	c := &InstanceGroupsListInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsListInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -19899,14 +20399,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceGroupsListInstancesCall) MaxResults(maxResults int64) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -19915,21 +20415,21 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceGroupsListInstancesCall) PageToken(pageToken string) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsListInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsListInstancesCall) Context(ctx context.Context) *InstanceGroupsListInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -19942,9 +20442,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -20067,13 +20580,13 @@
 	zone                                 string
 	instanceGroup                        string
 	instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest
-	urlParams_                           internal.URLParams
+	opt_                                 map[string]interface{}
 	ctx_                                 context.Context
 }
 
 // RemoveInstances: Removes a list of instances from an instance group.
 func (r *InstanceGroupsService) RemoveInstances(project string, zone string, instanceGroup string, instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest) *InstanceGroupsRemoveInstancesCall {
-	c := &InstanceGroupsRemoveInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsRemoveInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -20081,17 +20594,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsRemoveInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupsRemoveInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsRemoveInstancesCall) Context(ctx context.Context) *InstanceGroupsRemoveInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -20104,9 +20617,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -20209,13 +20726,13 @@
 	zone                               string
 	instanceGroup                      string
 	instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
 // SetNamedPorts: Sets the named ports in an instance group.
 func (r *InstanceGroupsService) SetNamedPorts(project string, zone string, instanceGroup string, instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest) *InstanceGroupsSetNamedPortsCall {
-	c := &InstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupsSetNamedPortsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroup = instanceGroup
@@ -20223,17 +20740,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *InstanceGroupsSetNamedPortsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *InstanceGroupsSetNamedPortsCall {
 	c.ctx_ = ctx
 	return c
@@ -20246,9 +20763,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -20349,30 +20870,30 @@
 	s                *Service
 	project          string
 	instanceTemplate string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Deletes the specified instance template.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/delete
 func (r *InstanceTemplatesService) Delete(project string, instanceTemplate string) *InstanceTemplatesDeleteCall {
-	c := &InstanceTemplatesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instanceTemplate = instanceTemplate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesDeleteCall) Fields(s ...googleapi.Field) *InstanceTemplatesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesDeleteCall) Context(ctx context.Context) *InstanceTemplatesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -20380,9 +20901,13 @@
 
 func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates/{instanceTemplate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -20472,25 +20997,24 @@
 	s                *Service
 	project          string
 	instanceTemplate string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Returns the specified instance template resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/get
 func (r *InstanceTemplatesService) Get(project string, instanceTemplate string) *InstanceTemplatesGetCall {
-	c := &InstanceTemplatesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instanceTemplate = instanceTemplate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesGetCall) Fields(s ...googleapi.Field) *InstanceTemplatesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20500,13 +21024,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceTemplatesGetCall) IfNoneMatch(entityTag string) *InstanceTemplatesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesGetCall) Context(ctx context.Context) *InstanceTemplatesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -20514,17 +21038,21 @@
 
 func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates/{instanceTemplate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
 		"instanceTemplate": c.instanceTemplate,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20610,7 +21138,7 @@
 	s                *Service
 	project          string
 	instancetemplate *InstanceTemplate
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -20618,23 +21146,23 @@
 // the data that is included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/insert
 func (r *InstanceTemplatesService) Insert(project string, instancetemplate *InstanceTemplate) *InstanceTemplatesInsertCall {
-	c := &InstanceTemplatesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instancetemplate = instancetemplate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesInsertCall) Fields(s ...googleapi.Field) *InstanceTemplatesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesInsertCall) Context(ctx context.Context) *InstanceTemplatesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -20647,9 +21175,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -20731,18 +21263,17 @@
 // method id "compute.instanceTemplates.list":
 
 type InstanceTemplatesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of instance templates that are contained
 // within the specified project and zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates/list
 func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCall {
-	c := &InstanceTemplatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceTemplatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -20763,14 +21294,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstanceTemplatesListCall) MaxResults(maxResults int64) *InstanceTemplatesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -20779,15 +21310,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstanceTemplatesListCall) PageToken(pageToken string) *InstanceTemplatesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceTemplatesListCall) Fields(s ...googleapi.Field) *InstanceTemplatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20797,13 +21328,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceTemplatesListCall) IfNoneMatch(entityTag string) *InstanceTemplatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceTemplatesListCall) Context(ctx context.Context) *InstanceTemplatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -20811,16 +21342,29 @@
 
 func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20914,39 +21458,40 @@
 // method id "compute.instances.addAccessConfig":
 
 type InstancesAddAccessConfigCall struct {
-	s            *Service
-	project      string
-	zone         string
-	instance     string
-	accessconfig *AccessConfig
-	urlParams_   internal.URLParams
-	ctx_         context.Context
+	s                *Service
+	project          string
+	zone             string
+	instance         string
+	networkInterface string
+	accessconfig     *AccessConfig
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // AddAccessConfig: Adds an access config to an instance's network
 // interface.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/addAccessConfig
 func (r *InstancesService) AddAccessConfig(project string, zone string, instance string, networkInterface string, accessconfig *AccessConfig) *InstancesAddAccessConfigCall {
-	c := &InstancesAddAccessConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesAddAccessConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("networkInterface", networkInterface)
+	c.networkInterface = networkInterface
 	c.accessconfig = accessconfig
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesAddAccessConfigCall) Fields(s ...googleapi.Field) *InstancesAddAccessConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesAddAccessConfigCall) Context(ctx context.Context) *InstancesAddAccessConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -20959,9 +21504,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("networkInterface", fmt.Sprintf("%v", c.networkInterface))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/addAccessConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -21068,17 +21618,16 @@
 // method id "compute.instances.aggregatedList":
 
 type InstancesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList:
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/aggregatedList
 func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedListCall {
-	c := &InstancesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -21099,14 +21648,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstancesAggregatedListCall) Filter(filter string) *InstancesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstancesAggregatedListCall) MaxResults(maxResults int64) *InstancesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -21115,15 +21664,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstancesAggregatedListCall) PageToken(pageToken string) *InstancesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesAggregatedListCall) Fields(s ...googleapi.Field) *InstancesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21133,13 +21682,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesAggregatedListCall) IfNoneMatch(entityTag string) *InstancesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesAggregatedListCall) Context(ctx context.Context) *InstancesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -21147,16 +21696,29 @@
 
 func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21254,14 +21816,14 @@
 	zone         string
 	instance     string
 	attacheddisk *AttachedDisk
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // AttachDisk: Attaches a Disk resource to an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/attachDisk
 func (r *InstancesService) AttachDisk(project string, zone string, instance string, attacheddisk *AttachedDisk) *InstancesAttachDiskCall {
-	c := &InstancesAttachDiskCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesAttachDiskCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -21269,17 +21831,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesAttachDiskCall) Fields(s ...googleapi.Field) *InstancesAttachDiskCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesAttachDiskCall) Context(ctx context.Context) *InstancesAttachDiskCall {
 	c.ctx_ = ctx
 	return c
@@ -21292,9 +21854,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/attachDisk")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -21394,36 +21960,36 @@
 // method id "compute.instances.delete":
 
 type InstancesDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified Instance resource. For more
 // information, see Shutting down an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/delete
 func (r *InstancesService) Delete(project string, zone string, instance string) *InstancesDeleteCall {
-	c := &InstancesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -21431,9 +21997,13 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -21529,38 +22099,40 @@
 // method id "compute.instances.deleteAccessConfig":
 
 type InstancesDeleteAccessConfigCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                *Service
+	project          string
+	zone             string
+	instance         string
+	accessConfig     string
+	networkInterface string
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // DeleteAccessConfig: Deletes an access config from an instance's
 // network interface.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/deleteAccessConfig
 func (r *InstancesService) DeleteAccessConfig(project string, zone string, instance string, accessConfig string, networkInterface string) *InstancesDeleteAccessConfigCall {
-	c := &InstancesDeleteAccessConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDeleteAccessConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("accessConfig", accessConfig)
-	c.urlParams_.Set("networkInterface", networkInterface)
+	c.accessConfig = accessConfig
+	c.networkInterface = networkInterface
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDeleteAccessConfigCall) Fields(s ...googleapi.Field) *InstancesDeleteAccessConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDeleteAccessConfigCall) Context(ctx context.Context) *InstancesDeleteAccessConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -21568,9 +22140,15 @@
 
 func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("accessConfig", fmt.Sprintf("%v", c.accessConfig))
+	params.Set("networkInterface", fmt.Sprintf("%v", c.networkInterface))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/deleteAccessConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -21684,32 +22262,33 @@
 	project    string
 	zone       string
 	instance   string
-	urlParams_ internal.URLParams
+	deviceName string
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // DetachDisk: Detaches a disk from an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/detachDisk
 func (r *InstancesService) DetachDisk(project string, zone string, instance string, deviceName string) *InstancesDetachDiskCall {
-	c := &InstancesDetachDiskCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDetachDiskCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("deviceName", deviceName)
+	c.deviceName = deviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDetachDiskCall) Fields(s ...googleapi.Field) *InstancesDetachDiskCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDetachDiskCall) Context(ctx context.Context) *InstancesDetachDiskCall {
 	c.ctx_ = ctx
 	return c
@@ -21717,9 +22296,14 @@
 
 func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("deviceName", fmt.Sprintf("%v", c.deviceName))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/detachDisk")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -21823,30 +22407,29 @@
 // method id "compute.instances.get":
 
 type InstancesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified instance resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/get
 func (r *InstancesService) Get(project string, zone string, instance string) *InstancesGetCall {
-	c := &InstancesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21856,13 +22439,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -21870,9 +22453,13 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -21880,8 +22467,8 @@
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21972,20 +22559,19 @@
 // method id "compute.instances.getSerialPortOutput":
 
 type InstancesGetSerialPortOutputCall struct {
-	s            *Service
-	project      string
-	zone         string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetSerialPortOutput: Returns the specified instance's serial port
 // output.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/getSerialPortOutput
 func (r *InstancesService) GetSerialPortOutput(project string, zone string, instance string) *InstancesGetSerialPortOutputCall {
-	c := &InstancesGetSerialPortOutputCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesGetSerialPortOutputCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -21995,15 +22581,15 @@
 // Port sets the optional parameter "port": Specifies which COM or
 // serial port to retrieve data from.
 func (c *InstancesGetSerialPortOutputCall) Port(port int64) *InstancesGetSerialPortOutputCall {
-	c.urlParams_.Set("port", fmt.Sprintf("%v", port))
+	c.opt_["port"] = port
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesGetSerialPortOutputCall) Fields(s ...googleapi.Field) *InstancesGetSerialPortOutputCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22013,13 +22599,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesGetSerialPortOutputCall) IfNoneMatch(entityTag string) *InstancesGetSerialPortOutputCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesGetSerialPortOutputCall) Context(ctx context.Context) *InstancesGetSerialPortOutputCall {
 	c.ctx_ = ctx
 	return c
@@ -22027,9 +22613,16 @@
 
 func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["port"]; ok {
+		params.Set("port", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/serialPort")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -22037,8 +22630,8 @@
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22138,36 +22731,36 @@
 // method id "compute.instances.insert":
 
 type InstancesInsertCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   *Instance
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance *Instance
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates an instance resource in the specified project using
 // the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/insert
 func (r *InstancesService) Insert(project string, zone string, instance *Instance) *InstancesInsertCall {
-	c := &InstancesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -22180,9 +22773,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -22273,19 +22870,18 @@
 // method id "compute.instances.list":
 
 type InstancesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of instance resources contained within the
 // specified zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/list
 func (r *InstancesService) List(project string, zone string) *InstancesListCall {
-	c := &InstancesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -22307,14 +22903,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -22323,15 +22919,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22341,13 +22937,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
 	c.ctx_ = ctx
 	return c
@@ -22355,17 +22951,30 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22467,35 +23076,35 @@
 // method id "compute.instances.reset":
 
 type InstancesResetCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Reset: Performs a hard reset on the instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/reset
 func (r *InstancesService) Reset(project string, zone string, instance string) *InstancesResetCall {
-	c := &InstancesResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesResetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesResetCall) Fields(s ...googleapi.Field) *InstancesResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesResetCall) Context(ctx context.Context) *InstancesResetCall {
 	c.ctx_ = ctx
 	return c
@@ -22503,9 +23112,13 @@
 
 func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -22605,7 +23218,9 @@
 	project    string
 	zone       string
 	instance   string
-	urlParams_ internal.URLParams
+	autoDelete bool
+	deviceName string
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -22613,26 +23228,26 @@
 // an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setDiskAutoDelete
 func (r *InstancesService) SetDiskAutoDelete(project string, zone string, instance string, autoDelete bool, deviceName string) *InstancesSetDiskAutoDeleteCall {
-	c := &InstancesSetDiskAutoDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetDiskAutoDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
-	c.urlParams_.Set("autoDelete", fmt.Sprintf("%v", autoDelete))
-	c.urlParams_.Set("deviceName", deviceName)
+	c.autoDelete = autoDelete
+	c.deviceName = deviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetDiskAutoDeleteCall) Fields(s ...googleapi.Field) *InstancesSetDiskAutoDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetDiskAutoDeleteCall) Context(ctx context.Context) *InstancesSetDiskAutoDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -22640,9 +23255,15 @@
 
 func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("autoDelete", fmt.Sprintf("%v", c.autoDelete))
+	params.Set("deviceName", fmt.Sprintf("%v", c.deviceName))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -22753,20 +23374,20 @@
 // method id "compute.instances.setMetadata":
 
 type InstancesSetMetadataCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	metadata   *Metadata
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	metadata *Metadata
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetMetadata: Sets metadata for the specified instance to the data
 // included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setMetadata
 func (r *InstancesService) SetMetadata(project string, zone string, instance string, metadata *Metadata) *InstancesSetMetadataCall {
-	c := &InstancesSetMetadataCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetMetadataCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -22774,17 +23395,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetMetadataCall) Fields(s ...googleapi.Field) *InstancesSetMetadataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetMetadataCall) Context(ctx context.Context) *InstancesSetMetadataCall {
 	c.ctx_ = ctx
 	return c
@@ -22797,9 +23418,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setMetadata")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -22904,14 +23529,14 @@
 	zone       string
 	instance   string
 	scheduling *Scheduling
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // SetScheduling: Sets an instance's scheduling options.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setScheduling
 func (r *InstancesService) SetScheduling(project string, zone string, instance string, scheduling *Scheduling) *InstancesSetSchedulingCall {
-	c := &InstancesSetSchedulingCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetSchedulingCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -22919,17 +23544,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetSchedulingCall) Fields(s ...googleapi.Field) *InstancesSetSchedulingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetSchedulingCall) Context(ctx context.Context) *InstancesSetSchedulingCall {
 	c.ctx_ = ctx
 	return c
@@ -22942,9 +23567,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setScheduling")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23044,20 +23673,20 @@
 // method id "compute.instances.setTags":
 
 type InstancesSetTagsCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	tags       *Tags
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	tags     *Tags
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetTags: Sets tags for the specified instance to the data included in
 // the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/setTags
 func (r *InstancesService) SetTags(project string, zone string, instance string, tags *Tags) *InstancesSetTagsCall {
-	c := &InstancesSetTagsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetTagsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
@@ -23065,17 +23694,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetTagsCall) Fields(s ...googleapi.Field) *InstancesSetTagsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetTagsCall) Context(ctx context.Context) *InstancesSetTagsCall {
 	c.ctx_ = ctx
 	return c
@@ -23088,9 +23717,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23190,12 +23823,12 @@
 // method id "compute.instances.start":
 
 type InstancesStartCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Start: This method starts an instance that was stopped using the
@@ -23203,24 +23836,24 @@
 // an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/start
 func (r *InstancesService) Start(project string, zone string, instance string) *InstancesStartCall {
-	c := &InstancesStartCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesStartCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesStartCall) Fields(s ...googleapi.Field) *InstancesStartCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesStartCall) Context(ctx context.Context) *InstancesStartCall {
 	c.ctx_ = ctx
 	return c
@@ -23228,9 +23861,13 @@
 
 func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/start")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23326,12 +23963,12 @@
 // method id "compute.instances.stop":
 
 type InstancesStopCall struct {
-	s          *Service
-	project    string
-	zone       string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	zone     string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Stop: This method stops a running instance, shutting it down cleanly,
@@ -23343,24 +23980,24 @@
 // Stopping an instance.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/instances/stop
 func (r *InstancesService) Stop(project string, zone string, instance string) *InstancesStopCall {
-	c := &InstancesStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesStopCall) Fields(s ...googleapi.Field) *InstancesStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesStopCall) Context(ctx context.Context) *InstancesStopCall {
 	c.ctx_ = ctx
 	return c
@@ -23368,9 +24005,13 @@
 
 func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -23466,28 +24107,27 @@
 // method id "compute.licenses.get":
 
 type LicensesGetCall struct {
-	s            *Service
-	project      string
-	license      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	license string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified license resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/licenses/get
 func (r *LicensesService) Get(project string, license string) *LicensesGetCall {
-	c := &LicensesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicensesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.license = license
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicensesGetCall) Fields(s ...googleapi.Field) *LicensesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23497,13 +24137,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LicensesGetCall) IfNoneMatch(entityTag string) *LicensesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicensesGetCall) Context(ctx context.Context) *LicensesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23511,17 +24151,21 @@
 
 func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenses/{license}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"license": c.license,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23604,18 +24248,17 @@
 // method id "compute.machineTypes.aggregatedList":
 
 type MachineTypesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of machine type resources grouped
 // by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/machineTypes/aggregatedList
 func (r *MachineTypesService) AggregatedList(project string) *MachineTypesAggregatedListCall {
-	c := &MachineTypesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MachineTypesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -23636,14 +24279,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *MachineTypesAggregatedListCall) Filter(filter string) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *MachineTypesAggregatedListCall) MaxResults(maxResults int64) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -23652,15 +24295,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *MachineTypesAggregatedListCall) PageToken(pageToken string) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MachineTypesAggregatedListCall) Fields(s ...googleapi.Field) *MachineTypesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23670,13 +24313,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MachineTypesAggregatedListCall) IfNoneMatch(entityTag string) *MachineTypesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MachineTypesAggregatedListCall) Context(ctx context.Context) *MachineTypesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -23684,16 +24327,29 @@
 
 func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/machineTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23787,30 +24443,29 @@
 // method id "compute.machineTypes.get":
 
 type MachineTypesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	machineType  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	zone        string
+	machineType string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Returns the specified machine type resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/machineTypes/get
 func (r *MachineTypesService) Get(project string, zone string, machineType string) *MachineTypesGetCall {
-	c := &MachineTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MachineTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.machineType = machineType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MachineTypesGetCall) Fields(s ...googleapi.Field) *MachineTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23820,13 +24475,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MachineTypesGetCall) IfNoneMatch(entityTag string) *MachineTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MachineTypesGetCall) Context(ctx context.Context) *MachineTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23834,9 +24489,13 @@
 
 func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/machineTypes/{machineType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -23844,8 +24503,8 @@
 		"machineType": c.machineType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23936,19 +24595,18 @@
 // method id "compute.machineTypes.list":
 
 type MachineTypesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of machine type resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/machineTypes/list
 func (r *MachineTypesService) List(project string, zone string) *MachineTypesListCall {
-	c := &MachineTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MachineTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -23970,14 +24628,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *MachineTypesListCall) Filter(filter string) *MachineTypesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *MachineTypesListCall) MaxResults(maxResults int64) *MachineTypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -23986,15 +24644,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *MachineTypesListCall) PageToken(pageToken string) *MachineTypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MachineTypesListCall) Fields(s ...googleapi.Field) *MachineTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24004,13 +24662,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MachineTypesListCall) IfNoneMatch(entityTag string) *MachineTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MachineTypesListCall) Context(ctx context.Context) *MachineTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -24018,17 +24676,30 @@
 
 func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/machineTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24130,33 +24801,33 @@
 // method id "compute.networks.delete":
 
 type NetworksDeleteCall struct {
-	s          *Service
-	project    string
-	network    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	network string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified network resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/delete
 func (r *NetworksService) Delete(project string, network string) *NetworksDeleteCall {
-	c := &NetworksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.network = network
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksDeleteCall) Fields(s ...googleapi.Field) *NetworksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksDeleteCall) Context(ctx context.Context) *NetworksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -24164,9 +24835,13 @@
 
 func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -24253,28 +24928,27 @@
 // method id "compute.networks.get":
 
 type NetworksGetCall struct {
-	s            *Service
-	project      string
-	network      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	network string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified network resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/get
 func (r *NetworksService) Get(project string, network string) *NetworksGetCall {
-	c := &NetworksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.network = network
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksGetCall) Fields(s ...googleapi.Field) *NetworksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24284,13 +24958,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NetworksGetCall) IfNoneMatch(entityTag string) *NetworksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksGetCall) Context(ctx context.Context) *NetworksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -24298,17 +24972,21 @@
 
 func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"network": c.network,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24391,34 +25069,34 @@
 // method id "compute.networks.insert":
 
 type NetworksInsertCall struct {
-	s          *Service
-	project    string
-	network    *Network
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	network *Network
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a network resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/insert
 func (r *NetworksService) Insert(project string, network *Network) *NetworksInsertCall {
-	c := &NetworksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.network = network
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksInsertCall) Fields(s ...googleapi.Field) *NetworksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksInsertCall) Context(ctx context.Context) *NetworksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -24431,9 +25109,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -24515,18 +25197,17 @@
 // method id "compute.networks.list":
 
 type NetworksListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of network resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/networks/list
 func (r *NetworksService) List(project string) *NetworksListCall {
-	c := &NetworksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NetworksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -24547,14 +25228,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *NetworksListCall) MaxResults(maxResults int64) *NetworksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -24563,15 +25244,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *NetworksListCall) PageToken(pageToken string) *NetworksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NetworksListCall) Fields(s ...googleapi.Field) *NetworksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24581,13 +25262,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NetworksListCall) IfNoneMatch(entityTag string) *NetworksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NetworksListCall) Context(ctx context.Context) *NetworksListCall {
 	c.ctx_ = ctx
 	return c
@@ -24595,16 +25276,29 @@
 
 func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24698,26 +25392,25 @@
 // method id "compute.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified project resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/projects/get
 func (r *ProjectsService) Get(project string) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24727,13 +25420,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -24741,16 +25434,20 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24828,29 +25525,29 @@
 	s               *Service
 	project         string
 	diskmoverequest *DiskMoveRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // MoveDisk: Moves a persistent disk from one zone to another.
 func (r *ProjectsService) MoveDisk(project string, diskmoverequest *DiskMoveRequest) *ProjectsMoveDiskCall {
-	c := &ProjectsMoveDiskCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsMoveDiskCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.diskmoverequest = diskmoverequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsMoveDiskCall) Fields(s ...googleapi.Field) *ProjectsMoveDiskCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsMoveDiskCall) Context(ctx context.Context) *ProjectsMoveDiskCall {
 	c.ctx_ = ctx
 	return c
@@ -24863,9 +25560,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/moveDisk")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -24950,30 +25651,30 @@
 	s                   *Service
 	project             string
 	instancemoverequest *InstanceMoveRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // MoveInstance: Moves an instance and its attached persistent disks
 // from one zone to another.
 func (r *ProjectsService) MoveInstance(project string, instancemoverequest *InstanceMoveRequest) *ProjectsMoveInstanceCall {
-	c := &ProjectsMoveInstanceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsMoveInstanceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instancemoverequest = instancemoverequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsMoveInstanceCall) Fields(s ...googleapi.Field) *ProjectsMoveInstanceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsMoveInstanceCall) Context(ctx context.Context) *ProjectsMoveInstanceCall {
 	c.ctx_ = ctx
 	return c
@@ -24986,9 +25687,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/moveInstance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -25070,34 +25775,34 @@
 // method id "compute.projects.setCommonInstanceMetadata":
 
 type ProjectsSetCommonInstanceMetadataCall struct {
-	s          *Service
-	project    string
-	metadata   *Metadata
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	metadata *Metadata
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // SetCommonInstanceMetadata: Sets metadata common to all instances
 // within the specified project using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/projects/setCommonInstanceMetadata
 func (r *ProjectsService) SetCommonInstanceMetadata(project string, metadata *Metadata) *ProjectsSetCommonInstanceMetadataCall {
-	c := &ProjectsSetCommonInstanceMetadataCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSetCommonInstanceMetadataCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.metadata = metadata
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSetCommonInstanceMetadataCall) Fields(s ...googleapi.Field) *ProjectsSetCommonInstanceMetadataCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSetCommonInstanceMetadataCall) Context(ctx context.Context) *ProjectsSetCommonInstanceMetadataCall {
 	c.ctx_ = ctx
 	return c
@@ -25110,9 +25815,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setCommonInstanceMetadata")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -25197,7 +25906,7 @@
 	s                   *Service
 	project             string
 	usageexportlocation *UsageExportLocation
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -25207,23 +25916,23 @@
 // disabled.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/projects/setUsageExportBucket
 func (r *ProjectsService) SetUsageExportBucket(project string, usageexportlocation *UsageExportLocation) *ProjectsSetUsageExportBucketCall {
-	c := &ProjectsSetUsageExportBucketCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSetUsageExportBucketCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.usageexportlocation = usageexportlocation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSetUsageExportBucketCall) Fields(s ...googleapi.Field) *ProjectsSetUsageExportBucketCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSetUsageExportBucketCall) Context(ctx context.Context) *ProjectsSetUsageExportBucketCall {
 	c.ctx_ = ctx
 	return c
@@ -25236,9 +25945,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setUsageExportBucket")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -25323,35 +26036,35 @@
 // method id "compute.regionOperations.delete":
 
 type RegionOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	region     string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	region    string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified region-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regionOperations/delete
 func (r *RegionOperationsService) Delete(project string, region string, operation string) *RegionOperationsDeleteCall {
-	c := &RegionOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionOperationsDeleteCall) Fields(s ...googleapi.Field) *RegionOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionOperationsDeleteCall) Context(ctx context.Context) *RegionOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -25359,9 +26072,13 @@
 
 func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -25430,30 +26147,29 @@
 // method id "compute.regionOperations.get":
 
 type RegionOperationsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	region    string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified region-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regionOperations/get
 func (r *RegionOperationsService) Get(project string, region string, operation string) *RegionOperationsGetCall {
-	c := &RegionOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionOperationsGetCall) Fields(s ...googleapi.Field) *RegionOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25463,13 +26179,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionOperationsGetCall) IfNoneMatch(entityTag string) *RegionOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionOperationsGetCall) Context(ctx context.Context) *RegionOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25477,9 +26193,13 @@
 
 func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -25487,8 +26207,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25579,19 +26299,18 @@
 // method id "compute.regionOperations.list":
 
 type RegionOperationsListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regionOperations/list
 func (r *RegionOperationsService) List(project string, region string) *RegionOperationsListCall {
-	c := &RegionOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -25613,14 +26332,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *RegionOperationsListCall) Filter(filter string) *RegionOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *RegionOperationsListCall) MaxResults(maxResults int64) *RegionOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -25629,15 +26348,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *RegionOperationsListCall) PageToken(pageToken string) *RegionOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionOperationsListCall) Fields(s ...googleapi.Field) *RegionOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25647,13 +26366,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionOperationsListCall) IfNoneMatch(entityTag string) *RegionOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionOperationsListCall) Context(ctx context.Context) *RegionOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -25661,17 +26380,30 @@
 
 func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25773,28 +26505,27 @@
 // method id "compute.regions.get":
 
 type RegionsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified region resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regions/get
 func (r *RegionsService) Get(project string, region string) *RegionsGetCall {
-	c := &RegionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsGetCall) Fields(s ...googleapi.Field) *RegionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25804,13 +26535,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsGetCall) IfNoneMatch(entityTag string) *RegionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsGetCall) Context(ctx context.Context) *RegionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25818,17 +26549,21 @@
 
 func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25911,18 +26646,17 @@
 // method id "compute.regions.list":
 
 type RegionsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of region resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/regions/list
 func (r *RegionsService) List(project string) *RegionsListCall {
-	c := &RegionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -25943,14 +26677,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *RegionsListCall) Filter(filter string) *RegionsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *RegionsListCall) MaxResults(maxResults int64) *RegionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -25959,15 +26693,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *RegionsListCall) PageToken(pageToken string) *RegionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25977,13 +26711,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -25991,16 +26725,29 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26094,33 +26841,33 @@
 // method id "compute.routes.delete":
 
 type RoutesDeleteCall struct {
-	s          *Service
-	project    string
-	route      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	route   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified route resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/delete
 func (r *RoutesService) Delete(project string, route string) *RoutesDeleteCall {
-	c := &RoutesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.route = route
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesDeleteCall) Fields(s ...googleapi.Field) *RoutesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesDeleteCall) Context(ctx context.Context) *RoutesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -26128,9 +26875,13 @@
 
 func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes/{route}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -26217,28 +26968,27 @@
 // method id "compute.routes.get":
 
 type RoutesGetCall struct {
-	s            *Service
-	project      string
-	route        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	route   string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified route resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/get
 func (r *RoutesService) Get(project string, route string) *RoutesGetCall {
-	c := &RoutesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.route = route
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesGetCall) Fields(s ...googleapi.Field) *RoutesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26248,13 +26998,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RoutesGetCall) IfNoneMatch(entityTag string) *RoutesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesGetCall) Context(ctx context.Context) *RoutesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26262,17 +27012,21 @@
 
 func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes/{route}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"route":   c.route,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26355,34 +27109,34 @@
 // method id "compute.routes.insert":
 
 type RoutesInsertCall struct {
-	s          *Service
-	project    string
-	route      *Route
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	route   *Route
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a route resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/insert
 func (r *RoutesService) Insert(project string, route *Route) *RoutesInsertCall {
-	c := &RoutesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.route = route
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesInsertCall) Fields(s ...googleapi.Field) *RoutesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesInsertCall) Context(ctx context.Context) *RoutesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -26395,9 +27149,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -26479,18 +27237,17 @@
 // method id "compute.routes.list":
 
 type RoutesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of route resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/routes/list
 func (r *RoutesService) List(project string) *RoutesListCall {
-	c := &RoutesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoutesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -26511,14 +27268,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *RoutesListCall) Filter(filter string) *RoutesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *RoutesListCall) MaxResults(maxResults int64) *RoutesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -26527,15 +27284,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *RoutesListCall) PageToken(pageToken string) *RoutesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoutesListCall) Fields(s ...googleapi.Field) *RoutesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26545,13 +27302,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RoutesListCall) IfNoneMatch(entityTag string) *RoutesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoutesListCall) Context(ctx context.Context) *RoutesListCall {
 	c.ctx_ = ctx
 	return c
@@ -26559,16 +27316,29 @@
 
 func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26662,11 +27432,11 @@
 // method id "compute.snapshots.delete":
 
 type SnapshotsDeleteCall struct {
-	s          *Service
-	project    string
-	snapshot   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	snapshot string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified Snapshot resource. Keep in mind that
@@ -26678,23 +27448,23 @@
 // For more information, see Deleting snaphots.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/snapshots/delete
 func (r *SnapshotsService) Delete(project string, snapshot string) *SnapshotsDeleteCall {
-	c := &SnapshotsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.snapshot = snapshot
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsDeleteCall) Fields(s ...googleapi.Field) *SnapshotsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsDeleteCall) Context(ctx context.Context) *SnapshotsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -26702,9 +27472,13 @@
 
 func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{snapshot}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -26791,28 +27565,27 @@
 // method id "compute.snapshots.get":
 
 type SnapshotsGetCall struct {
-	s            *Service
-	project      string
-	snapshot     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	snapshot string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Returns the specified Snapshot resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/snapshots/get
 func (r *SnapshotsService) Get(project string, snapshot string) *SnapshotsGetCall {
-	c := &SnapshotsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.snapshot = snapshot
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsGetCall) Fields(s ...googleapi.Field) *SnapshotsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26822,13 +27595,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SnapshotsGetCall) IfNoneMatch(entityTag string) *SnapshotsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsGetCall) Context(ctx context.Context) *SnapshotsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26836,17 +27609,21 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{snapshot}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"snapshot": c.snapshot,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26929,18 +27706,17 @@
 // method id "compute.snapshots.list":
 
 type SnapshotsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Snapshot resources contained within the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/snapshots/list
 func (r *SnapshotsService) List(project string) *SnapshotsListCall {
-	c := &SnapshotsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -26961,14 +27737,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *SnapshotsListCall) Filter(filter string) *SnapshotsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *SnapshotsListCall) MaxResults(maxResults int64) *SnapshotsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -26977,15 +27753,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *SnapshotsListCall) PageToken(pageToken string) *SnapshotsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsListCall) Fields(s ...googleapi.Field) *SnapshotsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26995,13 +27771,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SnapshotsListCall) IfNoneMatch(entityTag string) *SnapshotsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsListCall) Context(ctx context.Context) *SnapshotsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27009,16 +27785,29 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27115,30 +27904,30 @@
 	s               *Service
 	project         string
 	targetHttpProxy string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes the specified TargetHttpProxy resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/delete
 func (r *TargetHttpProxiesService) Delete(project string, targetHttpProxy string) *TargetHttpProxiesDeleteCall {
-	c := &TargetHttpProxiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpProxy = targetHttpProxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesDeleteCall) Fields(s ...googleapi.Field) *TargetHttpProxiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesDeleteCall) Context(ctx context.Context) *TargetHttpProxiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -27146,9 +27935,13 @@
 
 func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies/{targetHttpProxy}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -27238,25 +28031,24 @@
 	s               *Service
 	project         string
 	targetHttpProxy string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Returns the specified TargetHttpProxy resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/get
 func (r *TargetHttpProxiesService) Get(project string, targetHttpProxy string) *TargetHttpProxiesGetCall {
-	c := &TargetHttpProxiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpProxy = targetHttpProxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesGetCall) Fields(s ...googleapi.Field) *TargetHttpProxiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27266,13 +28058,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetHttpProxiesGetCall) IfNoneMatch(entityTag string) *TargetHttpProxiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesGetCall) Context(ctx context.Context) *TargetHttpProxiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27280,17 +28072,21 @@
 
 func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies/{targetHttpProxy}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
 		"targetHttpProxy": c.targetHttpProxy,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27376,7 +28172,7 @@
 	s               *Service
 	project         string
 	targethttpproxy *TargetHttpProxy
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -27384,23 +28180,23 @@
 // using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/insert
 func (r *TargetHttpProxiesService) Insert(project string, targethttpproxy *TargetHttpProxy) *TargetHttpProxiesInsertCall {
-	c := &TargetHttpProxiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targethttpproxy = targethttpproxy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesInsertCall) Fields(s ...googleapi.Field) *TargetHttpProxiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesInsertCall) Context(ctx context.Context) *TargetHttpProxiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -27413,9 +28209,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -27497,18 +28297,17 @@
 // method id "compute.targetHttpProxies.list":
 
 type TargetHttpProxiesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetHttpProxy resources available to
 // the specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/list
 func (r *TargetHttpProxiesService) List(project string) *TargetHttpProxiesListCall {
-	c := &TargetHttpProxiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -27529,14 +28328,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetHttpProxiesListCall) Filter(filter string) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetHttpProxiesListCall) MaxResults(maxResults int64) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -27545,15 +28344,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetHttpProxiesListCall) PageToken(pageToken string) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesListCall) Fields(s ...googleapi.Field) *TargetHttpProxiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27563,13 +28362,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetHttpProxiesListCall) IfNoneMatch(entityTag string) *TargetHttpProxiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesListCall) Context(ctx context.Context) *TargetHttpProxiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -27577,16 +28376,29 @@
 
 func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27684,31 +28496,31 @@
 	project         string
 	targetHttpProxy string
 	urlmapreference *UrlMapReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetUrlMap: Changes the URL map for TargetHttpProxy.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetHttpProxies/setUrlMap
 func (r *TargetHttpProxiesService) SetUrlMap(project string, targetHttpProxy string, urlmapreference *UrlMapReference) *TargetHttpProxiesSetUrlMapCall {
-	c := &TargetHttpProxiesSetUrlMapCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetHttpProxiesSetUrlMapCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.targetHttpProxy = targetHttpProxy
 	c.urlmapreference = urlmapreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetHttpProxiesSetUrlMapCall) Fields(s ...googleapi.Field) *TargetHttpProxiesSetUrlMapCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetHttpProxiesSetUrlMapCall) Context(ctx context.Context) *TargetHttpProxiesSetUrlMapCall {
 	c.ctx_ = ctx
 	return c
@@ -27721,9 +28533,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -27814,18 +28630,17 @@
 // method id "compute.targetInstances.aggregatedList":
 
 type TargetInstancesAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of target instances grouped by
 // scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/aggregatedList
 func (r *TargetInstancesService) AggregatedList(project string) *TargetInstancesAggregatedListCall {
-	c := &TargetInstancesAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -27846,14 +28661,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetInstancesAggregatedListCall) Filter(filter string) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetInstancesAggregatedListCall) MaxResults(maxResults int64) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -27862,15 +28677,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetInstancesAggregatedListCall) PageToken(pageToken string) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesAggregatedListCall) Fields(s ...googleapi.Field) *TargetInstancesAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27880,13 +28695,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetInstancesAggregatedListCall) IfNoneMatch(entityTag string) *TargetInstancesAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesAggregatedListCall) Context(ctx context.Context) *TargetInstancesAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -27894,16 +28709,29 @@
 
 func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28001,31 +28829,31 @@
 	project        string
 	zone           string
 	targetInstance string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes the specified TargetInstance resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/delete
 func (r *TargetInstancesService) Delete(project string, zone string, targetInstance string) *TargetInstancesDeleteCall {
-	c := &TargetInstancesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.targetInstance = targetInstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesDeleteCall) Fields(s ...googleapi.Field) *TargetInstancesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesDeleteCall) Context(ctx context.Context) *TargetInstancesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -28033,9 +28861,13 @@
 
 func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances/{targetInstance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -28135,26 +28967,25 @@
 	project        string
 	zone           string
 	targetInstance string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Returns the specified TargetInstance resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/get
 func (r *TargetInstancesService) Get(project string, zone string, targetInstance string) *TargetInstancesGetCall {
-	c := &TargetInstancesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.targetInstance = targetInstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesGetCall) Fields(s ...googleapi.Field) *TargetInstancesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28164,13 +28995,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetInstancesGetCall) IfNoneMatch(entityTag string) *TargetInstancesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesGetCall) Context(ctx context.Context) *TargetInstancesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28178,9 +29009,13 @@
 
 func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances/{targetInstance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":        c.project,
@@ -28188,8 +29023,8 @@
 		"targetInstance": c.targetInstance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28284,7 +29119,7 @@
 	project        string
 	zone           string
 	targetinstance *TargetInstance
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -28292,24 +29127,24 @@
 // and zone using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/insert
 func (r *TargetInstancesService) Insert(project string, zone string, targetinstance *TargetInstance) *TargetInstancesInsertCall {
-	c := &TargetInstancesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.targetinstance = targetinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesInsertCall) Fields(s ...googleapi.Field) *TargetInstancesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesInsertCall) Context(ctx context.Context) *TargetInstancesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -28322,9 +29157,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -28415,19 +29254,18 @@
 // method id "compute.targetInstances.list":
 
 type TargetInstancesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetInstance resources available to the
 // specified project and zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetInstances/list
 func (r *TargetInstancesService) List(project string, zone string) *TargetInstancesListCall {
-	c := &TargetInstancesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetInstancesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -28449,14 +29287,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetInstancesListCall) Filter(filter string) *TargetInstancesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetInstancesListCall) MaxResults(maxResults int64) *TargetInstancesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -28465,15 +29303,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetInstancesListCall) PageToken(pageToken string) *TargetInstancesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetInstancesListCall) Fields(s ...googleapi.Field) *TargetInstancesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28483,13 +29321,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetInstancesListCall) IfNoneMatch(entityTag string) *TargetInstancesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetInstancesListCall) Context(ctx context.Context) *TargetInstancesListCall {
 	c.ctx_ = ctx
 	return c
@@ -28497,17 +29335,30 @@
 
 func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28614,14 +29465,14 @@
 	region                           string
 	targetPool                       string
 	targetpoolsaddhealthcheckrequest *TargetPoolsAddHealthCheckRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
 // AddHealthCheck: Adds health check URL to targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/addHealthCheck
 func (r *TargetPoolsService) AddHealthCheck(project string, region string, targetPool string, targetpoolsaddhealthcheckrequest *TargetPoolsAddHealthCheckRequest) *TargetPoolsAddHealthCheckCall {
-	c := &TargetPoolsAddHealthCheckCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsAddHealthCheckCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -28629,17 +29480,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsAddHealthCheckCall) Fields(s ...googleapi.Field) *TargetPoolsAddHealthCheckCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsAddHealthCheckCall) Context(ctx context.Context) *TargetPoolsAddHealthCheckCall {
 	c.ctx_ = ctx
 	return c
@@ -28652,9 +29503,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -28758,14 +29613,14 @@
 	region                        string
 	targetPool                    string
 	targetpoolsaddinstancerequest *TargetPoolsAddInstanceRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // AddInstance: Adds instance url to targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/addInstance
 func (r *TargetPoolsService) AddInstance(project string, region string, targetPool string, targetpoolsaddinstancerequest *TargetPoolsAddInstanceRequest) *TargetPoolsAddInstanceCall {
-	c := &TargetPoolsAddInstanceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsAddInstanceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -28773,17 +29628,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsAddInstanceCall) Fields(s ...googleapi.Field) *TargetPoolsAddInstanceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsAddInstanceCall) Context(ctx context.Context) *TargetPoolsAddInstanceCall {
 	c.ctx_ = ctx
 	return c
@@ -28796,9 +29651,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/addInstance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -28897,17 +29756,16 @@
 // method id "compute.targetPools.aggregatedList":
 
 type TargetPoolsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of target pools grouped by scope.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/aggregatedList
 func (r *TargetPoolsService) AggregatedList(project string) *TargetPoolsAggregatedListCall {
-	c := &TargetPoolsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -28928,14 +29786,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetPoolsAggregatedListCall) Filter(filter string) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetPoolsAggregatedListCall) MaxResults(maxResults int64) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -28944,15 +29802,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetPoolsAggregatedListCall) PageToken(pageToken string) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsAggregatedListCall) Fields(s ...googleapi.Field) *TargetPoolsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28962,13 +29820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetPoolsAggregatedListCall) IfNoneMatch(entityTag string) *TargetPoolsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsAggregatedListCall) Context(ctx context.Context) *TargetPoolsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -28976,16 +29834,29 @@
 
 func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29083,31 +29954,31 @@
 	project    string
 	region     string
 	targetPool string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified TargetPool resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/delete
 func (r *TargetPoolsService) Delete(project string, region string, targetPool string) *TargetPoolsDeleteCall {
-	c := &TargetPoolsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsDeleteCall) Fields(s ...googleapi.Field) *TargetPoolsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsDeleteCall) Context(ctx context.Context) *TargetPoolsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -29115,9 +29986,13 @@
 
 func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -29213,30 +30088,29 @@
 // method id "compute.targetPools.get":
 
 type TargetPoolsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	targetPool   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	region     string
+	targetPool string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns the specified TargetPool resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/get
 func (r *TargetPoolsService) Get(project string, region string, targetPool string) *TargetPoolsGetCall {
-	c := &TargetPoolsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsGetCall) Fields(s ...googleapi.Field) *TargetPoolsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29246,13 +30120,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetPoolsGetCall) IfNoneMatch(entityTag string) *TargetPoolsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsGetCall) Context(ctx context.Context) *TargetPoolsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29260,9 +30134,13 @@
 
 func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -29270,8 +30148,8 @@
 		"targetPool": c.targetPool,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29367,7 +30245,7 @@
 	region            string
 	targetPool        string
 	instancereference *InstanceReference
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -29375,7 +30253,7 @@
 // the given instance that is referenced by given TargetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/getHealth
 func (r *TargetPoolsService) GetHealth(project string, region string, targetPool string, instancereference *InstanceReference) *TargetPoolsGetHealthCall {
-	c := &TargetPoolsGetHealthCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsGetHealthCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -29383,17 +30261,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsGetHealthCall) Fields(s ...googleapi.Field) *TargetPoolsGetHealthCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsGetHealthCall) Context(ctx context.Context) *TargetPoolsGetHealthCall {
 	c.ctx_ = ctx
 	return c
@@ -29406,9 +30284,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/getHealth")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -29512,7 +30394,7 @@
 	project    string
 	region     string
 	targetpool *TargetPool
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -29520,24 +30402,24 @@
 // region using the data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/insert
 func (r *TargetPoolsService) Insert(project string, region string, targetpool *TargetPool) *TargetPoolsInsertCall {
-	c := &TargetPoolsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetpool = targetpool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsInsertCall) Fields(s ...googleapi.Field) *TargetPoolsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsInsertCall) Context(ctx context.Context) *TargetPoolsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -29550,9 +30432,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -29643,19 +30529,18 @@
 // method id "compute.targetPools.list":
 
 type TargetPoolsListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetPool resources available to the
 // specified project and region.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/list
 func (r *TargetPoolsService) List(project string, region string) *TargetPoolsListCall {
-	c := &TargetPoolsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -29677,14 +30562,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetPoolsListCall) Filter(filter string) *TargetPoolsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetPoolsListCall) MaxResults(maxResults int64) *TargetPoolsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -29693,15 +30578,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetPoolsListCall) PageToken(pageToken string) *TargetPoolsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsListCall) Fields(s ...googleapi.Field) *TargetPoolsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29711,13 +30596,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetPoolsListCall) IfNoneMatch(entityTag string) *TargetPoolsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsListCall) Context(ctx context.Context) *TargetPoolsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29725,17 +30610,30 @@
 
 func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29842,14 +30740,14 @@
 	region                              string
 	targetPool                          string
 	targetpoolsremovehealthcheckrequest *TargetPoolsRemoveHealthCheckRequest
-	urlParams_                          internal.URLParams
+	opt_                                map[string]interface{}
 	ctx_                                context.Context
 }
 
 // RemoveHealthCheck: Removes health check URL from targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/removeHealthCheck
 func (r *TargetPoolsService) RemoveHealthCheck(project string, region string, targetPool string, targetpoolsremovehealthcheckrequest *TargetPoolsRemoveHealthCheckRequest) *TargetPoolsRemoveHealthCheckCall {
-	c := &TargetPoolsRemoveHealthCheckCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsRemoveHealthCheckCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -29857,17 +30755,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsRemoveHealthCheckCall) Fields(s ...googleapi.Field) *TargetPoolsRemoveHealthCheckCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsRemoveHealthCheckCall) Context(ctx context.Context) *TargetPoolsRemoveHealthCheckCall {
 	c.ctx_ = ctx
 	return c
@@ -29880,9 +30778,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -29986,14 +30888,14 @@
 	region                           string
 	targetPool                       string
 	targetpoolsremoveinstancerequest *TargetPoolsRemoveInstanceRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
 // RemoveInstance: Removes instance URL from targetPool.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/removeInstance
 func (r *TargetPoolsService) RemoveInstance(project string, region string, targetPool string, targetpoolsremoveinstancerequest *TargetPoolsRemoveInstanceRequest) *TargetPoolsRemoveInstanceCall {
-	c := &TargetPoolsRemoveInstanceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsRemoveInstanceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -30001,17 +30903,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsRemoveInstanceCall) Fields(s ...googleapi.Field) *TargetPoolsRemoveInstanceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsRemoveInstanceCall) Context(ctx context.Context) *TargetPoolsRemoveInstanceCall {
 	c.ctx_ = ctx
 	return c
@@ -30024,9 +30926,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/removeInstance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -30130,14 +31036,14 @@
 	region          string
 	targetPool      string
 	targetreference *TargetReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // SetBackup: Changes backup pool configurations.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/targetPools/setBackup
 func (r *TargetPoolsService) SetBackup(project string, region string, targetPool string, targetreference *TargetReference) *TargetPoolsSetBackupCall {
-	c := &TargetPoolsSetBackupCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetPoolsSetBackupCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetPool = targetPool
@@ -30148,21 +31054,21 @@
 // FailoverRatio sets the optional parameter "failoverRatio": New
 // failoverRatio value for the containing target pool.
 func (c *TargetPoolsSetBackupCall) FailoverRatio(failoverRatio float64) *TargetPoolsSetBackupCall {
-	c.urlParams_.Set("failoverRatio", fmt.Sprintf("%v", failoverRatio))
+	c.opt_["failoverRatio"] = failoverRatio
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetPoolsSetBackupCall) Fields(s ...googleapi.Field) *TargetPoolsSetBackupCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetPoolsSetBackupCall) Context(ctx context.Context) *TargetPoolsSetBackupCall {
 	c.ctx_ = ctx
 	return c
@@ -30175,9 +31081,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["failoverRatio"]; ok {
+		params.Set("failoverRatio", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/setBackup")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -30283,17 +31196,16 @@
 // method id "compute.targetVpnGateways.aggregatedList":
 
 type TargetVpnGatewaysAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of target VPN gateways grouped by
 // scope.
 func (r *TargetVpnGatewaysService) AggregatedList(project string) *TargetVpnGatewaysAggregatedListCall {
-	c := &TargetVpnGatewaysAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -30314,14 +31226,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetVpnGatewaysAggregatedListCall) Filter(filter string) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetVpnGatewaysAggregatedListCall) MaxResults(maxResults int64) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -30330,15 +31242,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetVpnGatewaysAggregatedListCall) PageToken(pageToken string) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysAggregatedListCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30348,13 +31260,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetVpnGatewaysAggregatedListCall) IfNoneMatch(entityTag string) *TargetVpnGatewaysAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysAggregatedListCall) Context(ctx context.Context) *TargetVpnGatewaysAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -30362,16 +31274,29 @@
 
 func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetVpnGateways")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30469,30 +31394,30 @@
 	project          string
 	region           string
 	targetVpnGateway string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Deletes the specified TargetVpnGateway resource.
 func (r *TargetVpnGatewaysService) Delete(project string, region string, targetVpnGateway string) *TargetVpnGatewaysDeleteCall {
-	c := &TargetVpnGatewaysDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetVpnGateway = targetVpnGateway
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysDeleteCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysDeleteCall) Context(ctx context.Context) *TargetVpnGatewaysDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -30500,9 +31425,13 @@
 
 func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -30602,25 +31531,24 @@
 	project          string
 	region           string
 	targetVpnGateway string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Returns the specified TargetVpnGateway resource.
 func (r *TargetVpnGatewaysService) Get(project string, region string, targetVpnGateway string) *TargetVpnGatewaysGetCall {
-	c := &TargetVpnGatewaysGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetVpnGateway = targetVpnGateway
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysGetCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30630,13 +31558,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetVpnGatewaysGetCall) IfNoneMatch(entityTag string) *TargetVpnGatewaysGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysGetCall) Context(ctx context.Context) *TargetVpnGatewaysGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30644,9 +31572,13 @@
 
 func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":          c.project,
@@ -30654,8 +31586,8 @@
 		"targetVpnGateway": c.targetVpnGateway,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30750,31 +31682,31 @@
 	project          string
 	region           string
 	targetvpngateway *TargetVpnGateway
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Insert: Creates a TargetVpnGateway resource in the specified project
 // and region using the data included in the request.
 func (r *TargetVpnGatewaysService) Insert(project string, region string, targetvpngateway *TargetVpnGateway) *TargetVpnGatewaysInsertCall {
-	c := &TargetVpnGatewaysInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.targetvpngateway = targetvpngateway
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysInsertCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysInsertCall) Context(ctx context.Context) *TargetVpnGatewaysInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -30787,9 +31719,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -30880,18 +31816,17 @@
 // method id "compute.targetVpnGateways.list":
 
 type TargetVpnGatewaysListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of TargetVpnGateway resources available to
 // the specified project and region.
 func (r *TargetVpnGatewaysService) List(project string, region string) *TargetVpnGatewaysListCall {
-	c := &TargetVpnGatewaysListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetVpnGatewaysListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -30913,14 +31848,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TargetVpnGatewaysListCall) Filter(filter string) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TargetVpnGatewaysListCall) MaxResults(maxResults int64) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -30929,15 +31864,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TargetVpnGatewaysListCall) PageToken(pageToken string) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetVpnGatewaysListCall) Fields(s ...googleapi.Field) *TargetVpnGatewaysListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30947,13 +31882,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetVpnGatewaysListCall) IfNoneMatch(entityTag string) *TargetVpnGatewaysListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetVpnGatewaysListCall) Context(ctx context.Context) *TargetVpnGatewaysListCall {
 	c.ctx_ = ctx
 	return c
@@ -30961,17 +31896,30 @@
 
 func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31073,33 +32021,33 @@
 // method id "compute.urlMaps.delete":
 
 type UrlMapsDeleteCall struct {
-	s          *Service
-	project    string
-	urlMap     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlMap  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the specified UrlMap resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/delete
 func (r *UrlMapsService) Delete(project string, urlMap string) *UrlMapsDeleteCall {
-	c := &UrlMapsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsDeleteCall) Fields(s ...googleapi.Field) *UrlMapsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsDeleteCall) Context(ctx context.Context) *UrlMapsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -31107,9 +32055,13 @@
 
 func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -31196,28 +32148,27 @@
 // method id "compute.urlMaps.get":
 
 type UrlMapsGetCall struct {
-	s            *Service
-	project      string
-	urlMap       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	urlMap  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified UrlMap resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/get
 func (r *UrlMapsService) Get(project string, urlMap string) *UrlMapsGetCall {
-	c := &UrlMapsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsGetCall) Fields(s ...googleapi.Field) *UrlMapsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31227,13 +32178,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlMapsGetCall) IfNoneMatch(entityTag string) *UrlMapsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsGetCall) Context(ctx context.Context) *UrlMapsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -31241,17 +32192,21 @@
 
 func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"urlMap":  c.urlMap,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31334,34 +32289,34 @@
 // method id "compute.urlMaps.insert":
 
 type UrlMapsInsertCall struct {
-	s          *Service
-	project    string
-	urlmap     *UrlMap
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlmap  *UrlMap
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a UrlMap resource in the specified project using the
 // data included in the request.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/insert
 func (r *UrlMapsService) Insert(project string, urlmap *UrlMap) *UrlMapsInsertCall {
-	c := &UrlMapsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlmap = urlmap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsInsertCall) Fields(s ...googleapi.Field) *UrlMapsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsInsertCall) Context(ctx context.Context) *UrlMapsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -31374,9 +32329,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -31458,18 +32417,17 @@
 // method id "compute.urlMaps.list":
 
 type UrlMapsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of UrlMap resources available to the
 // specified project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/list
 func (r *UrlMapsService) List(project string) *UrlMapsListCall {
-	c := &UrlMapsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -31490,14 +32448,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *UrlMapsListCall) Filter(filter string) *UrlMapsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *UrlMapsListCall) MaxResults(maxResults int64) *UrlMapsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -31506,15 +32464,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *UrlMapsListCall) PageToken(pageToken string) *UrlMapsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsListCall) Fields(s ...googleapi.Field) *UrlMapsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31524,13 +32482,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlMapsListCall) IfNoneMatch(entityTag string) *UrlMapsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsListCall) Context(ctx context.Context) *UrlMapsListCall {
 	c.ctx_ = ctx
 	return c
@@ -31538,16 +32496,29 @@
 
 func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31641,36 +32612,36 @@
 // method id "compute.urlMaps.patch":
 
 type UrlMapsPatchCall struct {
-	s          *Service
-	project    string
-	urlMap     string
-	urlmap     *UrlMap
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlMap  string
+	urlmap  *UrlMap
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Update the entire content of the UrlMap resource. This method
 // supports patch semantics.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/patch
 func (r *UrlMapsService) Patch(project string, urlMap string, urlmap *UrlMap) *UrlMapsPatchCall {
-	c := &UrlMapsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	c.urlmap = urlmap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsPatchCall) Fields(s ...googleapi.Field) *UrlMapsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsPatchCall) Context(ctx context.Context) *UrlMapsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -31683,9 +32654,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -31776,35 +32751,35 @@
 // method id "compute.urlMaps.update":
 
 type UrlMapsUpdateCall struct {
-	s          *Service
-	project    string
-	urlMap     string
-	urlmap     *UrlMap
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	urlMap  string
+	urlmap  *UrlMap
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Update the entire content of the UrlMap resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/update
 func (r *UrlMapsService) Update(project string, urlMap string, urlmap *UrlMap) *UrlMapsUpdateCall {
-	c := &UrlMapsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	c.urlmap = urlmap
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsUpdateCall) Fields(s ...googleapi.Field) *UrlMapsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsUpdateCall) Context(ctx context.Context) *UrlMapsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -31817,9 +32792,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -31914,7 +32893,7 @@
 	project                string
 	urlMap                 string
 	urlmapsvalidaterequest *UrlMapsValidateRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -31923,24 +32902,24 @@
 // NOT create the UrlMap.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/validate
 func (r *UrlMapsService) Validate(project string, urlMap string, urlmapsvalidaterequest *UrlMapsValidateRequest) *UrlMapsValidateCall {
-	c := &UrlMapsValidateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlMapsValidateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.urlMap = urlMap
 	c.urlmapsvalidaterequest = urlmapsvalidaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlMapsValidateCall) Fields(s ...googleapi.Field) *UrlMapsValidateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlMapsValidateCall) Context(ctx context.Context) *UrlMapsValidateCall {
 	c.ctx_ = ctx
 	return c
@@ -31953,9 +32932,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}/validate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -32046,16 +33029,15 @@
 // method id "compute.vpnTunnels.aggregatedList":
 
 type VpnTunnelsAggregatedListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // AggregatedList: Retrieves the list of VPN tunnels grouped by scope.
 func (r *VpnTunnelsService) AggregatedList(project string) *VpnTunnelsAggregatedListCall {
-	c := &VpnTunnelsAggregatedListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsAggregatedListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -32076,14 +33058,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *VpnTunnelsAggregatedListCall) Filter(filter string) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *VpnTunnelsAggregatedListCall) MaxResults(maxResults int64) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -32092,15 +33074,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *VpnTunnelsAggregatedListCall) PageToken(pageToken string) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsAggregatedListCall) Fields(s ...googleapi.Field) *VpnTunnelsAggregatedListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32110,13 +33092,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VpnTunnelsAggregatedListCall) IfNoneMatch(entityTag string) *VpnTunnelsAggregatedListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsAggregatedListCall) Context(ctx context.Context) *VpnTunnelsAggregatedListCall {
 	c.ctx_ = ctx
 	return c
@@ -32124,16 +33106,29 @@
 
 func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/vpnTunnels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32227,34 +33222,34 @@
 // method id "compute.vpnTunnels.delete":
 
 type VpnTunnelsDeleteCall struct {
-	s          *Service
-	project    string
-	region     string
-	vpnTunnel  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	region    string
+	vpnTunnel string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified VpnTunnel resource.
 func (r *VpnTunnelsService) Delete(project string, region string, vpnTunnel string) *VpnTunnelsDeleteCall {
-	c := &VpnTunnelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.vpnTunnel = vpnTunnel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsDeleteCall) Fields(s ...googleapi.Field) *VpnTunnelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsDeleteCall) Context(ctx context.Context) *VpnTunnelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -32262,9 +33257,13 @@
 
 func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -32360,29 +33359,28 @@
 // method id "compute.vpnTunnels.get":
 
 type VpnTunnelsGetCall struct {
-	s            *Service
-	project      string
-	region       string
-	vpnTunnel    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	region    string
+	vpnTunnel string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the specified VpnTunnel resource.
 func (r *VpnTunnelsService) Get(project string, region string, vpnTunnel string) *VpnTunnelsGetCall {
-	c := &VpnTunnelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.vpnTunnel = vpnTunnel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsGetCall) Fields(s ...googleapi.Field) *VpnTunnelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32392,13 +33390,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VpnTunnelsGetCall) IfNoneMatch(entityTag string) *VpnTunnelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsGetCall) Context(ctx context.Context) *VpnTunnelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -32406,9 +33404,13 @@
 
 func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -32416,8 +33418,8 @@
 		"vpnTunnel": c.vpnTunnel,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32508,35 +33510,35 @@
 // method id "compute.vpnTunnels.insert":
 
 type VpnTunnelsInsertCall struct {
-	s          *Service
-	project    string
-	region     string
-	vpntunnel  *VpnTunnel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	region    string
+	vpntunnel *VpnTunnel
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a VpnTunnel resource in the specified project and
 // region using the data included in the request.
 func (r *VpnTunnelsService) Insert(project string, region string, vpntunnel *VpnTunnel) *VpnTunnelsInsertCall {
-	c := &VpnTunnelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	c.vpntunnel = vpntunnel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsInsertCall) Fields(s ...googleapi.Field) *VpnTunnelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsInsertCall) Context(ctx context.Context) *VpnTunnelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -32549,9 +33551,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -32642,18 +33648,17 @@
 // method id "compute.vpnTunnels.list":
 
 type VpnTunnelsListCall struct {
-	s            *Service
-	project      string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	region  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of VpnTunnel resources contained in the
 // specified project and region.
 func (r *VpnTunnelsService) List(project string, region string) *VpnTunnelsListCall {
-	c := &VpnTunnelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VpnTunnelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.region = region
 	return c
@@ -32675,14 +33680,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *VpnTunnelsListCall) Filter(filter string) *VpnTunnelsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *VpnTunnelsListCall) MaxResults(maxResults int64) *VpnTunnelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -32691,15 +33696,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *VpnTunnelsListCall) PageToken(pageToken string) *VpnTunnelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VpnTunnelsListCall) Fields(s ...googleapi.Field) *VpnTunnelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32709,13 +33714,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VpnTunnelsListCall) IfNoneMatch(entityTag string) *VpnTunnelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VpnTunnelsListCall) Context(ctx context.Context) *VpnTunnelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -32723,17 +33728,30 @@
 
 func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"region":  c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32835,35 +33853,35 @@
 // method id "compute.zoneOperations.delete":
 
 type ZoneOperationsDeleteCall struct {
-	s          *Service
-	project    string
-	zone       string
-	operation  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the specified zone-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zoneOperations/delete
 func (r *ZoneOperationsService) Delete(project string, zone string, operation string) *ZoneOperationsDeleteCall {
-	c := &ZoneOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsDeleteCall) Fields(s ...googleapi.Field) *ZoneOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsDeleteCall) Context(ctx context.Context) *ZoneOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -32871,9 +33889,13 @@
 
 func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -32942,30 +33964,29 @@
 // method id "compute.zoneOperations.get":
 
 type ZoneOperationsGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified zone-specific Operations resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zoneOperations/get
 func (r *ZoneOperationsService) Get(project string, zone string, operation string) *ZoneOperationsGetCall {
-	c := &ZoneOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsGetCall) Fields(s ...googleapi.Field) *ZoneOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32975,13 +33996,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsGetCall) IfNoneMatch(entityTag string) *ZoneOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -32989,9 +34010,13 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -32999,8 +34024,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33091,19 +34116,18 @@
 // method id "compute.zoneOperations.list":
 
 type ZoneOperationsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified zone.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zoneOperations/list
 func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperationsListCall {
-	c := &ZoneOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -33125,14 +34149,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -33141,15 +34165,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsListCall) Fields(s ...googleapi.Field) *ZoneOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33159,13 +34183,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsListCall) IfNoneMatch(entityTag string) *ZoneOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -33173,17 +34197,30 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33285,28 +34322,27 @@
 // method id "compute.zones.get":
 
 type ZonesGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Returns the specified zone resource.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zones/get
 func (r *ZonesService) Get(project string, zone string) *ZonesGetCall {
-	c := &ZonesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZonesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZonesGetCall) Fields(s ...googleapi.Field) *ZonesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33316,13 +34352,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZonesGetCall) IfNoneMatch(entityTag string) *ZonesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZonesGetCall) Context(ctx context.Context) *ZonesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33330,17 +34366,21 @@
 
 func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33423,18 +34463,17 @@
 // method id "compute.zones.list":
 
 type ZonesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of zone resources available to the specified
 // project.
 // For details, see https://cloud.google.com/compute/docs/reference/latest/zones/list
 func (r *ZonesService) List(project string) *ZonesListCall {
-	c := &ZonesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZonesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -33455,14 +34494,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ZonesListCall) Filter(filter string) *ZonesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ZonesListCall) MaxResults(maxResults int64) *ZonesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -33471,15 +34510,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ZonesListCall) PageToken(pageToken string) *ZonesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZonesListCall) Fields(s ...googleapi.Field) *ZonesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33489,13 +34528,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZonesListCall) IfNoneMatch(entityTag string) *ZonesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZonesListCall) Context(ctx context.Context) *ZonesListCall {
 	c.ctx_ = ctx
 	return c
@@ -33503,16 +34542,29 @@
 
 func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/container/v1/container-gen.go b/container/v1/container-gen.go
index 6258bec..71d2749 100644
--- a/container/v1/container-gen.go
+++ b/container/v1/container-gen.go
@@ -534,28 +534,27 @@
 // method id "container.projects.zones.getServerconfig":
 
 type ProjectsZonesGetServerconfigCall struct {
-	s            *Service
-	projectId    string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	zone      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // GetServerconfig: Returns configuration info about the Container
 // Engine service.
 func (r *ProjectsZonesService) GetServerconfig(projectId string, zone string) *ProjectsZonesGetServerconfigCall {
-	c := &ProjectsZonesGetServerconfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesGetServerconfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesGetServerconfigCall) Fields(s ...googleapi.Field) *ProjectsZonesGetServerconfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -565,13 +564,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsZonesGetServerconfigCall) IfNoneMatch(entityTag string) *ProjectsZonesGetServerconfigCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesGetServerconfigCall) Context(ctx context.Context) *ProjectsZonesGetServerconfigCall {
 	c.ctx_ = ctx
 	return c
@@ -579,17 +578,21 @@
 
 func (c *ProjectsZonesGetServerconfigCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/serverconfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"zone":      c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -672,7 +675,7 @@
 	projectId            string
 	zone                 string
 	createclusterrequest *CreateClusterRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
@@ -686,24 +689,24 @@
 // entry is added to the project's global metadata indicating which CIDR
 // range is being used by the cluster.
 func (r *ProjectsZonesClustersService) Create(projectId string, zone string, createclusterrequest *CreateClusterRequest) *ProjectsZonesClustersCreateCall {
-	c := &ProjectsZonesClustersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesClustersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	c.createclusterrequest = createclusterrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesClustersCreateCall) Context(ctx context.Context) *ProjectsZonesClustersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -716,9 +719,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/clusters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -806,36 +813,36 @@
 // method id "container.projects.zones.clusters.delete":
 
 type ProjectsZonesClustersDeleteCall struct {
-	s          *Service
-	projectId  string
-	zone       string
-	clusterId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	zone      string
+	clusterId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes the cluster, including the Kubernetes endpoint and
 // all worker nodes. Firewalls and routes that were configured during
 // cluster creation are also deleted.
 func (r *ProjectsZonesClustersService) Delete(projectId string, zone string, clusterId string) *ProjectsZonesClustersDeleteCall {
-	c := &ProjectsZonesClustersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesClustersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	c.clusterId = clusterId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesClustersDeleteCall) Context(ctx context.Context) *ProjectsZonesClustersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -843,9 +850,13 @@
 
 func (c *ProjectsZonesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -937,29 +948,28 @@
 // method id "container.projects.zones.clusters.get":
 
 type ProjectsZonesClustersGetCall struct {
-	s            *Service
-	projectId    string
-	zone         string
-	clusterId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	zone      string
+	clusterId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a specific cluster.
 func (r *ProjectsZonesClustersService) Get(projectId string, zone string, clusterId string) *ProjectsZonesClustersGetCall {
-	c := &ProjectsZonesClustersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesClustersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	c.clusterId = clusterId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesClustersGetCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -969,13 +979,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsZonesClustersGetCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesClustersGetCall) Context(ctx context.Context) *ProjectsZonesClustersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -983,9 +993,13 @@
 
 func (c *ProjectsZonesClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -993,8 +1007,8 @@
 		"clusterId": c.clusterId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1080,28 +1094,27 @@
 // method id "container.projects.zones.clusters.list":
 
 type ProjectsZonesClustersListCall struct {
-	s            *Service
-	projectId    string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	zone      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all clusters owned by a project in either the specified
 // zone or all zones.
 func (r *ProjectsZonesClustersService) List(projectId string, zone string) *ProjectsZonesClustersListCall {
-	c := &ProjectsZonesClustersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesClustersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesClustersListCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1111,13 +1124,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsZonesClustersListCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesClustersListCall) Context(ctx context.Context) *ProjectsZonesClustersListCall {
 	c.ctx_ = ctx
 	return c
@@ -1125,17 +1138,21 @@
 
 func (c *ProjectsZonesClustersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/clusters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"zone":      c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1219,13 +1236,13 @@
 	zone                 string
 	clusterId            string
 	updateclusterrequest *UpdateClusterRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Update: Update settings of a specific cluster.
 func (r *ProjectsZonesClustersService) Update(projectId string, zone string, clusterId string, updateclusterrequest *UpdateClusterRequest) *ProjectsZonesClustersUpdateCall {
-	c := &ProjectsZonesClustersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesClustersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	c.clusterId = clusterId
@@ -1233,17 +1250,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesClustersUpdateCall) Context(ctx context.Context) *ProjectsZonesClustersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1256,9 +1273,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -1354,29 +1375,28 @@
 // method id "container.projects.zones.operations.get":
 
 type ProjectsZonesOperationsGetCall struct {
-	s            *Service
-	projectId    string
-	zone         string
-	operationId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectId   string
+	zone        string
+	operationId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets the specified operation.
 func (r *ProjectsZonesOperationsService) Get(projectId string, zone string, operationId string) *ProjectsZonesOperationsGetCall {
-	c := &ProjectsZonesOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	c.operationId = operationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1386,13 +1406,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsZonesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsZonesOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesOperationsGetCall) Context(ctx context.Context) *ProjectsZonesOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1400,9 +1420,13 @@
 
 func (c *ProjectsZonesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/operations/{operationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId":   c.projectId,
@@ -1410,8 +1434,8 @@
 		"operationId": c.operationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1497,28 +1521,27 @@
 // method id "container.projects.zones.operations.list":
 
 type ProjectsZonesOperationsListCall struct {
-	s            *Service
-	projectId    string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	zone      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all operations in a project in a specific zone or all
 // zones.
 func (r *ProjectsZonesOperationsService) List(projectId string, zone string) *ProjectsZonesOperationsListCall {
-	c := &ProjectsZonesOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsZonesOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.zone = zone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsZonesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1528,13 +1551,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsZonesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsZonesOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsZonesOperationsListCall) Context(ctx context.Context) *ProjectsZonesOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1542,17 +1565,21 @@
 
 func (c *ProjectsZonesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"zone":      c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/content/v2/content-gen.go b/content/v2/content-gen.go
index a34f513..0d4c436 100644
--- a/content/v2/content-gen.go
+++ b/content/v2/content-gen.go
@@ -4966,23 +4966,22 @@
 // method id "content.accounts.authinfo":
 
 type AccountsAuthinfoCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Authinfo: Returns information about the authenticated user.
 func (r *AccountsService) Authinfo() *AccountsAuthinfoCall {
-	c := &AccountsAuthinfoCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAuthinfoCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAuthinfoCall) Fields(s ...googleapi.Field) *AccountsAuthinfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4992,13 +4991,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAuthinfoCall) IfNoneMatch(entityTag string) *AccountsAuthinfoCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAuthinfoCall) Context(ctx context.Context) *AccountsAuthinfoCall {
 	c.ctx_ = ctx
 	return c
@@ -5006,14 +5005,18 @@
 
 func (c *AccountsAuthinfoCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/authinfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5076,14 +5079,14 @@
 type AccountsCustombatchCall struct {
 	s                          *Service
 	accountscustombatchrequest *AccountsCustomBatchRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // Custombatch: Retrieves, inserts, updates, and deletes multiple
 // Merchant Center (sub-)accounts in a single request.
 func (r *AccountsService) Custombatch(accountscustombatchrequest *AccountsCustomBatchRequest) *AccountsCustombatchCall {
-	c := &AccountsCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountscustombatchrequest = accountscustombatchrequest
 	return c
 }
@@ -5091,21 +5094,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountsCustombatchCall) DryRun(dryRun bool) *AccountsCustombatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsCustombatchCall) Fields(s ...googleapi.Field) *AccountsCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsCustombatchCall) Context(ctx context.Context) *AccountsCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5118,9 +5121,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5197,13 +5207,13 @@
 	s          *Service
 	merchantId uint64
 	accountId  uint64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a Merchant Center sub-account.
 func (r *AccountsService) Delete(merchantId uint64, accountId uint64) *AccountsDeleteCall {
-	c := &AccountsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	return c
@@ -5212,21 +5222,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountsDeleteCall) DryRun(dryRun bool) *AccountsDeleteCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsDeleteCall) Fields(s ...googleapi.Field) *AccountsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsDeleteCall) Context(ctx context.Context) *AccountsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5234,9 +5244,16 @@
 
 func (c *AccountsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -5300,27 +5317,26 @@
 // method id "content.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	merchantId   uint64
-	accountId    uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	accountId  uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves a Merchant Center account.
 func (r *AccountsService) Get(merchantId uint64, accountId uint64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5330,13 +5346,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5344,17 +5360,21 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"accountId":  strconv.FormatUint(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5438,13 +5458,13 @@
 	s          *Service
 	merchantId uint64
 	account    *Account
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates a Merchant Center sub-account.
 func (r *AccountsService) Insert(merchantId uint64, account *Account) *AccountsInsertCall {
-	c := &AccountsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.account = account
 	return c
@@ -5453,21 +5473,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountsInsertCall) DryRun(dryRun bool) *AccountsInsertCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsInsertCall) Fields(s ...googleapi.Field) *AccountsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsInsertCall) Context(ctx context.Context) *AccountsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5480,9 +5500,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -5568,16 +5595,15 @@
 // method id "content.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the sub-accounts in your Merchant Center account.
 func (r *AccountsService) List(merchantId uint64) *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -5585,22 +5611,22 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of accounts to return in the response, used for paging.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5610,13 +5636,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5624,16 +5650,26 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5721,14 +5757,14 @@
 	merchantId uint64
 	accountId  uint64
 	account    *Account
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates a Merchant Center account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(merchantId uint64, accountId uint64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	c.account = account
@@ -5738,21 +5774,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountsPatchCall) DryRun(dryRun bool) *AccountsPatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5765,9 +5801,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -5866,13 +5909,13 @@
 	merchantId uint64
 	accountId  uint64
 	account    *Account
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates a Merchant Center account.
 func (r *AccountsService) Update(merchantId uint64, accountId uint64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	c.account = account
@@ -5882,21 +5925,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountsUpdateCall) DryRun(dryRun bool) *AccountsUpdateCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5909,9 +5952,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -6008,14 +6058,14 @@
 type AccountshippingCustombatchCall struct {
 	s                                 *Service
 	accountshippingcustombatchrequest *AccountshippingCustomBatchRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // Custombatch: Retrieves and updates the shipping settings of multiple
 // accounts in a single request.
 func (r *AccountshippingService) Custombatch(accountshippingcustombatchrequest *AccountshippingCustomBatchRequest) *AccountshippingCustombatchCall {
-	c := &AccountshippingCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountshippingCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountshippingcustombatchrequest = accountshippingcustombatchrequest
 	return c
 }
@@ -6023,21 +6073,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountshippingCustombatchCall) DryRun(dryRun bool) *AccountshippingCustombatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountshippingCustombatchCall) Fields(s ...googleapi.Field) *AccountshippingCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountshippingCustombatchCall) Context(ctx context.Context) *AccountshippingCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6050,9 +6100,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accountshipping/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6127,27 +6184,26 @@
 // method id "content.accountshipping.get":
 
 type AccountshippingGetCall struct {
-	s            *Service
-	merchantId   uint64
-	accountId    uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	accountId  uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves the shipping settings of the account.
 func (r *AccountshippingService) Get(merchantId uint64, accountId uint64) *AccountshippingGetCall {
-	c := &AccountshippingGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountshippingGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountshippingGetCall) Fields(s ...googleapi.Field) *AccountshippingGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6157,13 +6213,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountshippingGetCall) IfNoneMatch(entityTag string) *AccountshippingGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountshippingGetCall) Context(ctx context.Context) *AccountshippingGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6171,17 +6227,21 @@
 
 func (c *AccountshippingGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountshipping/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"accountId":  strconv.FormatUint(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6262,17 +6322,16 @@
 // method id "content.accountshipping.list":
 
 type AccountshippingListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the shipping settings of the sub-accounts in your
 // Merchant Center account.
 func (r *AccountshippingService) List(merchantId uint64) *AccountshippingListCall {
-	c := &AccountshippingListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountshippingListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -6281,22 +6340,22 @@
 // number of shipping settings to return in the response, used for
 // paging.
 func (c *AccountshippingListCall) MaxResults(maxResults int64) *AccountshippingListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AccountshippingListCall) PageToken(pageToken string) *AccountshippingListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountshippingListCall) Fields(s ...googleapi.Field) *AccountshippingListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6306,13 +6365,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountshippingListCall) IfNoneMatch(entityTag string) *AccountshippingListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountshippingListCall) Context(ctx context.Context) *AccountshippingListCall {
 	c.ctx_ = ctx
 	return c
@@ -6320,16 +6379,26 @@
 
 func (c *AccountshippingListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountshipping")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6417,14 +6486,14 @@
 	merchantId      uint64
 	accountId       uint64
 	accountshipping *AccountShipping
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates the shipping settings of the account. This method
 // supports patch semantics.
 func (r *AccountshippingService) Patch(merchantId uint64, accountId uint64, accountshipping *AccountShipping) *AccountshippingPatchCall {
-	c := &AccountshippingPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountshippingPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	c.accountshipping = accountshipping
@@ -6434,21 +6503,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountshippingPatchCall) DryRun(dryRun bool) *AccountshippingPatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountshippingPatchCall) Fields(s ...googleapi.Field) *AccountshippingPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountshippingPatchCall) Context(ctx context.Context) *AccountshippingPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6461,9 +6530,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountshipping/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -6562,13 +6638,13 @@
 	merchantId      uint64
 	accountId       uint64
 	accountshipping *AccountShipping
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates the shipping settings of the account.
 func (r *AccountshippingService) Update(merchantId uint64, accountId uint64, accountshipping *AccountShipping) *AccountshippingUpdateCall {
-	c := &AccountshippingUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountshippingUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	c.accountshipping = accountshipping
@@ -6578,21 +6654,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccountshippingUpdateCall) DryRun(dryRun bool) *AccountshippingUpdateCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountshippingUpdateCall) Fields(s ...googleapi.Field) *AccountshippingUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountshippingUpdateCall) Context(ctx context.Context) *AccountshippingUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6605,9 +6681,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountshipping/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -6704,28 +6787,28 @@
 type AccountstatusesCustombatchCall struct {
 	s                                 *Service
 	accountstatusescustombatchrequest *AccountstatusesCustomBatchRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // Custombatch:
 func (r *AccountstatusesService) Custombatch(accountstatusescustombatchrequest *AccountstatusesCustomBatchRequest) *AccountstatusesCustombatchCall {
-	c := &AccountstatusesCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountstatusesCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountstatusescustombatchrequest = accountstatusescustombatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountstatusesCustombatchCall) Fields(s ...googleapi.Field) *AccountstatusesCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountstatusesCustombatchCall) Context(ctx context.Context) *AccountstatusesCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6738,9 +6821,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accountstatuses/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6807,27 +6894,26 @@
 // method id "content.accountstatuses.get":
 
 type AccountstatusesGetCall struct {
-	s            *Service
-	merchantId   uint64
-	accountId    uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	accountId  uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves the status of a Merchant Center account.
 func (r *AccountstatusesService) Get(merchantId uint64, accountId uint64) *AccountstatusesGetCall {
-	c := &AccountstatusesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountstatusesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountstatusesGetCall) Fields(s ...googleapi.Field) *AccountstatusesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6837,13 +6923,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountstatusesGetCall) IfNoneMatch(entityTag string) *AccountstatusesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountstatusesGetCall) Context(ctx context.Context) *AccountstatusesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6851,17 +6937,21 @@
 
 func (c *AccountstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountstatuses/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"accountId":  strconv.FormatUint(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6942,17 +7032,16 @@
 // method id "content.accountstatuses.list":
 
 type AccountstatusesListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the statuses of the sub-accounts in your Merchant Center
 // account.
 func (r *AccountstatusesService) List(merchantId uint64) *AccountstatusesListCall {
-	c := &AccountstatusesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountstatusesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -6961,22 +7050,22 @@
 // number of account statuses to return in the response, used for
 // paging.
 func (c *AccountstatusesListCall) MaxResults(maxResults int64) *AccountstatusesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AccountstatusesListCall) PageToken(pageToken string) *AccountstatusesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountstatusesListCall) Fields(s ...googleapi.Field) *AccountstatusesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6986,13 +7075,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountstatusesListCall) IfNoneMatch(entityTag string) *AccountstatusesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountstatusesListCall) Context(ctx context.Context) *AccountstatusesListCall {
 	c.ctx_ = ctx
 	return c
@@ -7000,16 +7089,26 @@
 
 func (c *AccountstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountstatuses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7095,14 +7194,14 @@
 type AccounttaxCustombatchCall struct {
 	s                            *Service
 	accounttaxcustombatchrequest *AccounttaxCustomBatchRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
 // Custombatch: Retrieves and updates tax settings of multiple accounts
 // in a single request.
 func (r *AccounttaxService) Custombatch(accounttaxcustombatchrequest *AccounttaxCustomBatchRequest) *AccounttaxCustombatchCall {
-	c := &AccounttaxCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccounttaxCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accounttaxcustombatchrequest = accounttaxcustombatchrequest
 	return c
 }
@@ -7110,21 +7209,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccounttaxCustombatchCall) DryRun(dryRun bool) *AccounttaxCustombatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccounttaxCustombatchCall) Fields(s ...googleapi.Field) *AccounttaxCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccounttaxCustombatchCall) Context(ctx context.Context) *AccounttaxCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7137,9 +7236,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounttax/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7213,27 +7319,26 @@
 // method id "content.accounttax.get":
 
 type AccounttaxGetCall struct {
-	s            *Service
-	merchantId   uint64
-	accountId    uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	accountId  uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves the tax settings of the account.
 func (r *AccounttaxService) Get(merchantId uint64, accountId uint64) *AccounttaxGetCall {
-	c := &AccounttaxGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccounttaxGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccounttaxGetCall) Fields(s ...googleapi.Field) *AccounttaxGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7243,13 +7348,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccounttaxGetCall) IfNoneMatch(entityTag string) *AccounttaxGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccounttaxGetCall) Context(ctx context.Context) *AccounttaxGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7257,17 +7362,21 @@
 
 func (c *AccounttaxGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"accountId":  strconv.FormatUint(c.accountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7348,17 +7457,16 @@
 // method id "content.accounttax.list":
 
 type AccounttaxListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the tax settings of the sub-accounts in your Merchant
 // Center account.
 func (r *AccounttaxService) List(merchantId uint64) *AccounttaxListCall {
-	c := &AccounttaxListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccounttaxListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -7366,22 +7474,22 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of tax settings to return in the response, used for paging.
 func (c *AccounttaxListCall) MaxResults(maxResults int64) *AccounttaxListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AccounttaxListCall) PageToken(pageToken string) *AccounttaxListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccounttaxListCall) Fields(s ...googleapi.Field) *AccounttaxListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7391,13 +7499,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccounttaxListCall) IfNoneMatch(entityTag string) *AccounttaxListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccounttaxListCall) Context(ctx context.Context) *AccounttaxListCall {
 	c.ctx_ = ctx
 	return c
@@ -7405,16 +7513,26 @@
 
 func (c *AccounttaxListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7502,14 +7620,14 @@
 	merchantId uint64
 	accountId  uint64
 	accounttax *AccountTax
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates the tax settings of the account. This method supports
 // patch semantics.
 func (r *AccounttaxService) Patch(merchantId uint64, accountId uint64, accounttax *AccountTax) *AccounttaxPatchCall {
-	c := &AccounttaxPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccounttaxPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	c.accounttax = accounttax
@@ -7519,21 +7637,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccounttaxPatchCall) DryRun(dryRun bool) *AccounttaxPatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccounttaxPatchCall) Fields(s ...googleapi.Field) *AccounttaxPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccounttaxPatchCall) Context(ctx context.Context) *AccounttaxPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7546,9 +7664,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -7647,13 +7772,13 @@
 	merchantId uint64
 	accountId  uint64
 	accounttax *AccountTax
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates the tax settings of the account.
 func (r *AccounttaxService) Update(merchantId uint64, accountId uint64, accounttax *AccountTax) *AccounttaxUpdateCall {
-	c := &AccounttaxUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccounttaxUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.accountId = accountId
 	c.accounttax = accounttax
@@ -7663,21 +7788,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *AccounttaxUpdateCall) DryRun(dryRun bool) *AccounttaxUpdateCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccounttaxUpdateCall) Fields(s ...googleapi.Field) *AccounttaxUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccounttaxUpdateCall) Context(ctx context.Context) *AccounttaxUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7690,9 +7815,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -7789,13 +7921,13 @@
 type DatafeedsCustombatchCall struct {
 	s                           *Service
 	datafeedscustombatchrequest *DatafeedsCustomBatchRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Custombatch:
 func (r *DatafeedsService) Custombatch(datafeedscustombatchrequest *DatafeedsCustomBatchRequest) *DatafeedsCustombatchCall {
-	c := &DatafeedsCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datafeedscustombatchrequest = datafeedscustombatchrequest
 	return c
 }
@@ -7803,21 +7935,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *DatafeedsCustombatchCall) DryRun(dryRun bool) *DatafeedsCustombatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsCustombatchCall) Fields(s ...googleapi.Field) *DatafeedsCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsCustombatchCall) Context(ctx context.Context) *DatafeedsCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7830,9 +7962,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datafeeds/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7908,13 +8047,13 @@
 	s          *Service
 	merchantId uint64
 	datafeedId uint64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a datafeed from your Merchant Center account.
 func (r *DatafeedsService) Delete(merchantId uint64, datafeedId uint64) *DatafeedsDeleteCall {
-	c := &DatafeedsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.datafeedId = datafeedId
 	return c
@@ -7923,21 +8062,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *DatafeedsDeleteCall) DryRun(dryRun bool) *DatafeedsDeleteCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsDeleteCall) Fields(s ...googleapi.Field) *DatafeedsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsDeleteCall) Context(ctx context.Context) *DatafeedsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7945,9 +8084,16 @@
 
 func (c *DatafeedsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -8009,27 +8155,26 @@
 // method id "content.datafeeds.get":
 
 type DatafeedsGetCall struct {
-	s            *Service
-	merchantId   uint64
-	datafeedId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	datafeedId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves a datafeed from your Merchant Center account.
 func (r *DatafeedsService) Get(merchantId uint64, datafeedId uint64) *DatafeedsGetCall {
-	c := &DatafeedsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.datafeedId = datafeedId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsGetCall) Fields(s ...googleapi.Field) *DatafeedsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8039,13 +8184,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatafeedsGetCall) IfNoneMatch(entityTag string) *DatafeedsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsGetCall) Context(ctx context.Context) *DatafeedsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8053,17 +8198,21 @@
 
 func (c *DatafeedsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8145,13 +8294,13 @@
 	s          *Service
 	merchantId uint64
 	datafeed   *Datafeed
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Registers a datafeed with your Merchant Center account.
 func (r *DatafeedsService) Insert(merchantId uint64, datafeed *Datafeed) *DatafeedsInsertCall {
-	c := &DatafeedsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.datafeed = datafeed
 	return c
@@ -8160,21 +8309,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *DatafeedsInsertCall) DryRun(dryRun bool) *DatafeedsInsertCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsInsertCall) Fields(s ...googleapi.Field) *DatafeedsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsInsertCall) Context(ctx context.Context) *DatafeedsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8187,9 +8336,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -8274,16 +8430,15 @@
 // method id "content.datafeeds.list":
 
 type DatafeedsListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the datafeeds in your Merchant Center account.
 func (r *DatafeedsService) List(merchantId uint64) *DatafeedsListCall {
-	c := &DatafeedsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -8291,22 +8446,22 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of products to return in the response, used for paging.
 func (c *DatafeedsListCall) MaxResults(maxResults int64) *DatafeedsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *DatafeedsListCall) PageToken(pageToken string) *DatafeedsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsListCall) Fields(s ...googleapi.Field) *DatafeedsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8316,13 +8471,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatafeedsListCall) IfNoneMatch(entityTag string) *DatafeedsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsListCall) Context(ctx context.Context) *DatafeedsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8330,16 +8485,26 @@
 
 func (c *DatafeedsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8427,14 +8592,14 @@
 	merchantId uint64
 	datafeedId uint64
 	datafeed   *Datafeed
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates a datafeed of your Merchant Center account. This
 // method supports patch semantics.
 func (r *DatafeedsService) Patch(merchantId uint64, datafeedId uint64, datafeed *Datafeed) *DatafeedsPatchCall {
-	c := &DatafeedsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.datafeedId = datafeedId
 	c.datafeed = datafeed
@@ -8444,21 +8609,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *DatafeedsPatchCall) DryRun(dryRun bool) *DatafeedsPatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsPatchCall) Fields(s ...googleapi.Field) *DatafeedsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsPatchCall) Context(ctx context.Context) *DatafeedsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8471,9 +8636,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -8570,13 +8742,13 @@
 	merchantId uint64
 	datafeedId uint64
 	datafeed   *Datafeed
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates a datafeed of your Merchant Center account.
 func (r *DatafeedsService) Update(merchantId uint64, datafeedId uint64, datafeed *Datafeed) *DatafeedsUpdateCall {
-	c := &DatafeedsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.datafeedId = datafeedId
 	c.datafeed = datafeed
@@ -8586,21 +8758,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *DatafeedsUpdateCall) DryRun(dryRun bool) *DatafeedsUpdateCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedsUpdateCall) Fields(s ...googleapi.Field) *DatafeedsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedsUpdateCall) Context(ctx context.Context) *DatafeedsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -8613,9 +8785,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -8710,28 +8889,28 @@
 type DatafeedstatusesCustombatchCall struct {
 	s                                  *Service
 	datafeedstatusescustombatchrequest *DatafeedstatusesCustomBatchRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
 // Custombatch:
 func (r *DatafeedstatusesService) Custombatch(datafeedstatusescustombatchrequest *DatafeedstatusesCustomBatchRequest) *DatafeedstatusesCustombatchCall {
-	c := &DatafeedstatusesCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedstatusesCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datafeedstatusescustombatchrequest = datafeedstatusescustombatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedstatusesCustombatchCall) Fields(s ...googleapi.Field) *DatafeedstatusesCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedstatusesCustombatchCall) Context(ctx context.Context) *DatafeedstatusesCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8744,9 +8923,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datafeedstatuses/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8813,28 +8996,27 @@
 // method id "content.datafeedstatuses.get":
 
 type DatafeedstatusesGetCall struct {
-	s            *Service
-	merchantId   uint64
-	datafeedId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	datafeedId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves the status of a datafeed from your Merchant Center
 // account.
 func (r *DatafeedstatusesService) Get(merchantId uint64, datafeedId uint64) *DatafeedstatusesGetCall {
-	c := &DatafeedstatusesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedstatusesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.datafeedId = datafeedId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedstatusesGetCall) Fields(s ...googleapi.Field) *DatafeedstatusesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8844,13 +9026,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatafeedstatusesGetCall) IfNoneMatch(entityTag string) *DatafeedstatusesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedstatusesGetCall) Context(ctx context.Context) *DatafeedstatusesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8858,17 +9040,21 @@
 
 func (c *DatafeedstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeedstatuses/{datafeedId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8947,17 +9133,16 @@
 // method id "content.datafeedstatuses.list":
 
 type DatafeedstatusesListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the statuses of the datafeeds in your Merchant Center
 // account.
 func (r *DatafeedstatusesService) List(merchantId uint64) *DatafeedstatusesListCall {
-	c := &DatafeedstatusesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatafeedstatusesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -8965,22 +9150,22 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of products to return in the response, used for paging.
 func (c *DatafeedstatusesListCall) MaxResults(maxResults int64) *DatafeedstatusesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *DatafeedstatusesListCall) PageToken(pageToken string) *DatafeedstatusesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatafeedstatusesListCall) Fields(s ...googleapi.Field) *DatafeedstatusesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8990,13 +9175,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatafeedstatusesListCall) IfNoneMatch(entityTag string) *DatafeedstatusesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatafeedstatusesListCall) Context(ctx context.Context) *DatafeedstatusesListCall {
 	c.ctx_ = ctx
 	return c
@@ -9004,16 +9189,26 @@
 
 func (c *DatafeedstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeedstatuses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9099,7 +9294,7 @@
 type InventoryCustombatchCall struct {
 	s                           *Service
 	inventorycustombatchrequest *InventoryCustomBatchRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
@@ -9107,7 +9302,7 @@
 // stores in a single request. This operation does not update the
 // expiration date of the products.
 func (r *InventoryService) Custombatch(inventorycustombatchrequest *InventoryCustomBatchRequest) *InventoryCustombatchCall {
-	c := &InventoryCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InventoryCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.inventorycustombatchrequest = inventorycustombatchrequest
 	return c
 }
@@ -9115,21 +9310,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *InventoryCustombatchCall) DryRun(dryRun bool) *InventoryCustombatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InventoryCustombatchCall) Fields(s ...googleapi.Field) *InventoryCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InventoryCustombatchCall) Context(ctx context.Context) *InventoryCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9142,9 +9337,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "inventory/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9223,7 +9425,7 @@
 	storeCode           string
 	productId           string
 	inventorysetrequest *InventorySetRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -9231,7 +9433,7 @@
 // Center account. This operation does not update the expiration date of
 // the product.
 func (r *InventoryService) Set(merchantId uint64, storeCode string, productId string, inventorysetrequest *InventorySetRequest) *InventorySetCall {
-	c := &InventorySetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InventorySetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.storeCode = storeCode
 	c.productId = productId
@@ -9242,21 +9444,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *InventorySetCall) DryRun(dryRun bool) *InventorySetCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InventorySetCall) Fields(s ...googleapi.Field) *InventorySetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InventorySetCall) Context(ctx context.Context) *InventorySetCall {
 	c.ctx_ = ctx
 	return c
@@ -9269,9 +9471,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/inventory/{storeCode}/products/{productId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -9377,30 +9586,30 @@
 	merchantId               uint64
 	orderId                  string
 	ordersacknowledgerequest *OrdersAcknowledgeRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Acknowledge: Marks an order as acknowledged.
 func (r *OrdersService) Acknowledge(merchantId uint64, orderId string, ordersacknowledgerequest *OrdersAcknowledgeRequest) *OrdersAcknowledgeCall {
-	c := &OrdersAcknowledgeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersAcknowledgeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersacknowledgerequest = ordersacknowledgerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersAcknowledgeCall) Fields(s ...googleapi.Field) *OrdersAcknowledgeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersAcknowledgeCall) Context(ctx context.Context) *OrdersAcknowledgeCall {
 	c.ctx_ = ctx
 	return c
@@ -9413,9 +9622,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/acknowledge")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -9507,30 +9720,30 @@
 	s          *Service
 	merchantId uint64
 	orderId    string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Advancetestorder: Sandbox only. Moves a test order from state
 // "inProgress" to state "pendingShipment".
 func (r *OrdersService) Advancetestorder(merchantId uint64, orderId string) *OrdersAdvancetestorderCall {
-	c := &OrdersAdvancetestorderCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersAdvancetestorderCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersAdvancetestorderCall) Fields(s ...googleapi.Field) *OrdersAdvancetestorderCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersAdvancetestorderCall) Context(ctx context.Context) *OrdersAdvancetestorderCall {
 	c.ctx_ = ctx
 	return c
@@ -9538,9 +9751,13 @@
 
 func (c *OrdersAdvancetestorderCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders/{orderId}/advance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -9629,30 +9846,30 @@
 	merchantId          uint64
 	orderId             string
 	orderscancelrequest *OrdersCancelRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Cancel: Cancels all line items in an order.
 func (r *OrdersService) Cancel(merchantId uint64, orderId string, orderscancelrequest *OrdersCancelRequest) *OrdersCancelCall {
-	c := &OrdersCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.orderscancelrequest = orderscancelrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCancelCall) Fields(s ...googleapi.Field) *OrdersCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCancelCall) Context(ctx context.Context) *OrdersCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -9665,9 +9882,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -9760,30 +9981,30 @@
 	merchantId                  uint64
 	orderId                     string
 	orderscancellineitemrequest *OrdersCancelLineItemRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Cancellineitem: Cancels a line item.
 func (r *OrdersService) Cancellineitem(merchantId uint64, orderId string, orderscancellineitemrequest *OrdersCancelLineItemRequest) *OrdersCancellineitemCall {
-	c := &OrdersCancellineitemCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCancellineitemCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.orderscancellineitemrequest = orderscancellineitemrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCancellineitemCall) Fields(s ...googleapi.Field) *OrdersCancellineitemCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCancellineitemCall) Context(ctx context.Context) *OrdersCancellineitemCall {
 	c.ctx_ = ctx
 	return c
@@ -9796,9 +10017,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/cancelLineItem")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -9890,29 +10115,29 @@
 	s                            *Service
 	merchantId                   uint64
 	orderscreatetestorderrequest *OrdersCreateTestOrderRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
 // Createtestorder: Sandbox only. Creates a test order.
 func (r *OrdersService) Createtestorder(merchantId uint64, orderscreatetestorderrequest *OrdersCreateTestOrderRequest) *OrdersCreatetestorderCall {
-	c := &OrdersCreatetestorderCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCreatetestorderCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderscreatetestorderrequest = orderscreatetestorderrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCreatetestorderCall) Fields(s ...googleapi.Field) *OrdersCreatetestorderCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCreatetestorderCall) Context(ctx context.Context) *OrdersCreatetestorderCall {
 	c.ctx_ = ctx
 	return c
@@ -9925,9 +10150,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -10010,29 +10239,29 @@
 type OrdersCustombatchCall struct {
 	s                        *Service
 	orderscustombatchrequest *OrdersCustomBatchRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Custombatch: Retrieves or modifies multiple orders in a single
 // request.
 func (r *OrdersService) Custombatch(orderscustombatchrequest *OrdersCustomBatchRequest) *OrdersCustombatchCall {
-	c := &OrdersCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderscustombatchrequest = orderscustombatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCustombatchCall) Fields(s ...googleapi.Field) *OrdersCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCustombatchCall) Context(ctx context.Context) *OrdersCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10045,9 +10274,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "orders/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -10114,27 +10347,26 @@
 // method id "content.orders.get":
 
 type OrdersGetCall struct {
-	s            *Service
-	merchantId   uint64
-	orderId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	orderId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves an order from your Merchant Center account.
 func (r *OrdersService) Get(merchantId uint64, orderId string) *OrdersGetCall {
-	c := &OrdersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10144,13 +10376,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10158,17 +10390,21 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"orderId":    c.orderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10251,24 +10487,23 @@
 	s               *Service
 	merchantId      uint64
 	merchantOrderId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Getbymerchantorderid: Retrieves an order using merchant order id.
 func (r *OrdersService) Getbymerchantorderid(merchantId uint64, merchantOrderId string) *OrdersGetbymerchantorderidCall {
-	c := &OrdersGetbymerchantorderidCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGetbymerchantorderidCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.merchantOrderId = merchantOrderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGetbymerchantorderidCall) Fields(s ...googleapi.Field) *OrdersGetbymerchantorderidCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10278,13 +10513,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGetbymerchantorderidCall) IfNoneMatch(entityTag string) *OrdersGetbymerchantorderidCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGetbymerchantorderidCall) Context(ctx context.Context) *OrdersGetbymerchantorderidCall {
 	c.ctx_ = ctx
 	return c
@@ -10292,17 +10527,21 @@
 
 func (c *OrdersGetbymerchantorderidCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/ordersbymerchantid/{merchantOrderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId":      strconv.FormatUint(c.merchantId, 10),
 		"merchantOrderId": c.merchantOrderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10386,25 +10625,24 @@
 	s            *Service
 	merchantId   uint64
 	templateName string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Gettestordertemplate: Sandbox only. Retrieves an order template that
 // can be used to quickly create a new order in sandbox.
 func (r *OrdersService) Gettestordertemplate(merchantId uint64, templateName string) *OrdersGettestordertemplateCall {
-	c := &OrdersGettestordertemplateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGettestordertemplateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.templateName = templateName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGettestordertemplateCall) Fields(s ...googleapi.Field) *OrdersGettestordertemplateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10414,13 +10652,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGettestordertemplateCall) IfNoneMatch(entityTag string) *OrdersGettestordertemplateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGettestordertemplateCall) Context(ctx context.Context) *OrdersGettestordertemplateCall {
 	c.ctx_ = ctx
 	return c
@@ -10428,17 +10666,21 @@
 
 func (c *OrdersGettestordertemplateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testordertemplates/{templateName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId":   strconv.FormatUint(c.merchantId, 10),
 		"templateName": c.templateName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10527,16 +10769,15 @@
 // method id "content.orders.list":
 
 type OrdersListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the orders in your Merchant Center account.
 func (r *OrdersService) List(merchantId uint64) *OrdersListCall {
-	c := &OrdersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -10548,7 +10789,7 @@
 // We recommend using this filter set to false, in conjunction with the
 // acknowledge call, such that only un-acknowledged orders are returned.
 func (c *OrdersListCall) Acknowledged(acknowledged bool) *OrdersListCall {
-	c.urlParams_.Set("acknowledged", fmt.Sprintf("%v", acknowledged))
+	c.opt_["acknowledged"] = acknowledged
 	return c
 }
 
@@ -10559,7 +10800,7 @@
 // Known issue: All List calls will return all Orders without limit
 // regardless of the value of this field.
 func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10575,21 +10816,21 @@
 //   "placedDate asc"
 //   "placedDate desc"
 func (c *OrdersListCall) OrderBy(orderBy string) *OrdersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PlacedDateEnd sets the optional parameter "placedDateEnd": Obtains
 // orders placed before this date (exclusively), in ISO 8601 format.
 func (c *OrdersListCall) PlacedDateEnd(placedDateEnd string) *OrdersListCall {
-	c.urlParams_.Set("placedDateEnd", placedDateEnd)
+	c.opt_["placedDateEnd"] = placedDateEnd
 	return c
 }
 
@@ -10597,7 +10838,7 @@
 // Obtains orders placed after this date (inclusively), in ISO 8601
 // format.
 func (c *OrdersListCall) PlacedDateStart(placedDateStart string) *OrdersListCall {
-	c.urlParams_.Set("placedDateStart", placedDateStart)
+	c.opt_["placedDateStart"] = placedDateStart
 	return c
 }
 
@@ -10620,16 +10861,16 @@
 //   "pendingShipment"
 //   "returned"
 //   "shipped"
-func (c *OrdersListCall) Statuses(statuses []string) *OrdersListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *OrdersListCall) Statuses(statuses string) *OrdersListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10639,13 +10880,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 	c.ctx_ = ctx
 	return c
@@ -10653,16 +10894,41 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acknowledged"]; ok {
+		params.Set("acknowledged", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placedDateEnd"]; ok {
+		params.Set("placedDateEnd", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placedDateStart"]; ok {
+		params.Set("placedDateStart", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10810,30 +11076,30 @@
 	merchantId          uint64
 	orderId             string
 	ordersrefundrequest *OrdersRefundRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Refund: Refund a portion of the order, up to the full amount paid.
 func (r *OrdersService) Refund(merchantId uint64, orderId string, ordersrefundrequest *OrdersRefundRequest) *OrdersRefundCall {
-	c := &OrdersRefundCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersRefundCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersrefundrequest = ordersrefundrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersRefundCall) Fields(s ...googleapi.Field) *OrdersRefundCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersRefundCall) Context(ctx context.Context) *OrdersRefundCall {
 	c.ctx_ = ctx
 	return c
@@ -10846,9 +11112,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/refund")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -10941,30 +11211,30 @@
 	merchantId                  uint64
 	orderId                     string
 	ordersreturnlineitemrequest *OrdersReturnLineItemRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Returnlineitem: Returns a line item.
 func (r *OrdersService) Returnlineitem(merchantId uint64, orderId string, ordersreturnlineitemrequest *OrdersReturnLineItemRequest) *OrdersReturnlineitemCall {
-	c := &OrdersReturnlineitemCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersReturnlineitemCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersreturnlineitemrequest = ordersreturnlineitemrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersReturnlineitemCall) Fields(s ...googleapi.Field) *OrdersReturnlineitemCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersReturnlineitemCall) Context(ctx context.Context) *OrdersReturnlineitemCall {
 	c.ctx_ = ctx
 	return c
@@ -10977,9 +11247,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/returnLineItem")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -11072,30 +11346,30 @@
 	merchantId                 uint64
 	orderId                    string
 	ordersshiplineitemsrequest *OrdersShipLineItemsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // Shiplineitems: Marks line item(s) as shipped.
 func (r *OrdersService) Shiplineitems(merchantId uint64, orderId string, ordersshiplineitemsrequest *OrdersShipLineItemsRequest) *OrdersShiplineitemsCall {
-	c := &OrdersShiplineitemsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersShiplineitemsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersshiplineitemsrequest = ordersshiplineitemsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersShiplineitemsCall) Fields(s ...googleapi.Field) *OrdersShiplineitemsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersShiplineitemsCall) Context(ctx context.Context) *OrdersShiplineitemsCall {
 	c.ctx_ = ctx
 	return c
@@ -11108,9 +11382,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/shipLineItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -11203,31 +11481,31 @@
 	merchantId                         uint64
 	orderId                            string
 	ordersupdatemerchantorderidrequest *OrdersUpdateMerchantOrderIdRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
 // Updatemerchantorderid: Updates the merchant order ID for a given
 // order.
 func (r *OrdersService) Updatemerchantorderid(merchantId uint64, orderId string, ordersupdatemerchantorderidrequest *OrdersUpdateMerchantOrderIdRequest) *OrdersUpdatemerchantorderidCall {
-	c := &OrdersUpdatemerchantorderidCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersUpdatemerchantorderidCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersupdatemerchantorderidrequest = ordersupdatemerchantorderidrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersUpdatemerchantorderidCall) Fields(s ...googleapi.Field) *OrdersUpdatemerchantorderidCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersUpdatemerchantorderidCall) Context(ctx context.Context) *OrdersUpdatemerchantorderidCall {
 	c.ctx_ = ctx
 	return c
@@ -11240,9 +11518,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateMerchantOrderId")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -11336,31 +11618,31 @@
 	merchantId                  uint64
 	orderId                     string
 	ordersupdateshipmentrequest *OrdersUpdateShipmentRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Updateshipment: Updates a shipment's status, carrier, and/or tracking
 // ID.
 func (r *OrdersService) Updateshipment(merchantId uint64, orderId string, ordersupdateshipmentrequest *OrdersUpdateShipmentRequest) *OrdersUpdateshipmentCall {
-	c := &OrdersUpdateshipmentCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersUpdateshipmentCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersupdateshipmentrequest = ordersupdateshipmentrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersUpdateshipmentCall) Fields(s ...googleapi.Field) *OrdersUpdateshipmentCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersUpdateshipmentCall) Context(ctx context.Context) *OrdersUpdateshipmentCall {
 	c.ctx_ = ctx
 	return c
@@ -11373,9 +11655,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateShipment")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -11466,14 +11752,14 @@
 type ProductsCustombatchCall struct {
 	s                          *Service
 	productscustombatchrequest *ProductsCustomBatchRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // Custombatch: Retrieves, inserts, and deletes multiple products in a
 // single request.
 func (r *ProductsService) Custombatch(productscustombatchrequest *ProductsCustomBatchRequest) *ProductsCustombatchCall {
-	c := &ProductsCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productscustombatchrequest = productscustombatchrequest
 	return c
 }
@@ -11481,21 +11767,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *ProductsCustombatchCall) DryRun(dryRun bool) *ProductsCustombatchCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsCustombatchCall) Fields(s ...googleapi.Field) *ProductsCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsCustombatchCall) Context(ctx context.Context) *ProductsCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -11508,9 +11794,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "products/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -11587,13 +11880,13 @@
 	s          *Service
 	merchantId uint64
 	productId  string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a product from your Merchant Center account.
 func (r *ProductsService) Delete(merchantId uint64, productId string) *ProductsDeleteCall {
-	c := &ProductsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.productId = productId
 	return c
@@ -11602,21 +11895,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *ProductsDeleteCall) DryRun(dryRun bool) *ProductsDeleteCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsDeleteCall) Fields(s ...googleapi.Field) *ProductsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsDeleteCall) Context(ctx context.Context) *ProductsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11624,9 +11917,16 @@
 
 func (c *ProductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products/{productId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -11689,27 +11989,26 @@
 // method id "content.products.get":
 
 type ProductsGetCall struct {
-	s            *Service
-	merchantId   uint64
-	productId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	productId  string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves a product from your Merchant Center account.
 func (r *ProductsService) Get(merchantId uint64, productId string) *ProductsGetCall {
-	c := &ProductsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.productId = productId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsGetCall) Fields(s ...googleapi.Field) *ProductsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11719,13 +12018,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductsGetCall) IfNoneMatch(entityTag string) *ProductsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsGetCall) Context(ctx context.Context) *ProductsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11733,17 +12032,21 @@
 
 func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products/{productId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"productId":  c.productId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11826,13 +12129,13 @@
 	s          *Service
 	merchantId uint64
 	product    *Product
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Uploads a product to your Merchant Center account.
 func (r *ProductsService) Insert(merchantId uint64, product *Product) *ProductsInsertCall {
-	c := &ProductsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.product = product
 	return c
@@ -11841,21 +12144,21 @@
 // DryRun sets the optional parameter "dryRun": Flag to run the request
 // in dry-run mode.
 func (c *ProductsInsertCall) DryRun(dryRun bool) *ProductsInsertCall {
-	c.urlParams_.Set("dryRun", fmt.Sprintf("%v", dryRun))
+	c.opt_["dryRun"] = dryRun
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsInsertCall) Fields(s ...googleapi.Field) *ProductsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsInsertCall) Context(ctx context.Context) *ProductsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -11868,9 +12171,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dryRun"]; ok {
+		params.Set("dryRun", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -11956,16 +12266,15 @@
 // method id "content.products.list":
 
 type ProductsListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the products in your Merchant Center account.
 func (r *ProductsService) List(merchantId uint64) *ProductsListCall {
-	c := &ProductsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -11973,22 +12282,22 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of products to return in the response, used for paging.
 func (c *ProductsListCall) MaxResults(maxResults int64) *ProductsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *ProductsListCall) PageToken(pageToken string) *ProductsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductsListCall) Fields(s ...googleapi.Field) *ProductsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11998,13 +12307,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductsListCall) IfNoneMatch(entityTag string) *ProductsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductsListCall) Context(ctx context.Context) *ProductsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12012,16 +12321,26 @@
 
 func (c *ProductsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12107,29 +12426,29 @@
 type ProductstatusesCustombatchCall struct {
 	s                                 *Service
 	productstatusescustombatchrequest *ProductstatusesCustomBatchRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // Custombatch: Gets the statuses of multiple products in a single
 // request.
 func (r *ProductstatusesService) Custombatch(productstatusescustombatchrequest *ProductstatusesCustomBatchRequest) *ProductstatusesCustombatchCall {
-	c := &ProductstatusesCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductstatusesCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productstatusescustombatchrequest = productstatusescustombatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductstatusesCustombatchCall) Fields(s ...googleapi.Field) *ProductstatusesCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductstatusesCustombatchCall) Context(ctx context.Context) *ProductstatusesCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12142,9 +12461,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "productstatuses/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -12212,27 +12535,26 @@
 // method id "content.productstatuses.get":
 
 type ProductstatusesGetCall struct {
-	s            *Service
-	merchantId   uint64
-	productId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	productId  string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the status of a product from your Merchant Center account.
 func (r *ProductstatusesService) Get(merchantId uint64, productId string) *ProductstatusesGetCall {
-	c := &ProductstatusesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductstatusesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.productId = productId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductstatusesGetCall) Fields(s ...googleapi.Field) *ProductstatusesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12242,13 +12564,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductstatusesGetCall) IfNoneMatch(entityTag string) *ProductstatusesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductstatusesGetCall) Context(ctx context.Context) *ProductstatusesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12256,17 +12578,21 @@
 
 func (c *ProductstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productstatuses/{productId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"productId":  c.productId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12346,17 +12672,16 @@
 // method id "content.productstatuses.list":
 
 type ProductstatusesListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the statuses of the products in your Merchant Center
 // account.
 func (r *ProductstatusesService) List(merchantId uint64) *ProductstatusesListCall {
-	c := &ProductstatusesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProductstatusesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -12365,22 +12690,22 @@
 // number of product statuses to return in the response, used for
 // paging.
 func (c *ProductstatusesListCall) MaxResults(maxResults int64) *ProductstatusesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *ProductstatusesListCall) PageToken(pageToken string) *ProductstatusesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProductstatusesListCall) Fields(s ...googleapi.Field) *ProductstatusesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12390,13 +12715,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProductstatusesListCall) IfNoneMatch(entityTag string) *ProductstatusesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProductstatusesListCall) Context(ctx context.Context) *ProductstatusesListCall {
 	c.ctx_ = ctx
 	return c
@@ -12404,16 +12729,26 @@
 
 func (c *ProductstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productstatuses")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/content/v2sandbox/content-gen.go b/content/v2sandbox/content-gen.go
index cc81d82..b40c200 100644
--- a/content/v2sandbox/content-gen.go
+++ b/content/v2sandbox/content-gen.go
@@ -1849,30 +1849,30 @@
 	merchantId               uint64
 	orderId                  string
 	ordersacknowledgerequest *OrdersAcknowledgeRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Acknowledge: Marks an order as acknowledged.
 func (r *OrdersService) Acknowledge(merchantId uint64, orderId string, ordersacknowledgerequest *OrdersAcknowledgeRequest) *OrdersAcknowledgeCall {
-	c := &OrdersAcknowledgeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersAcknowledgeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersacknowledgerequest = ordersacknowledgerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersAcknowledgeCall) Fields(s ...googleapi.Field) *OrdersAcknowledgeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersAcknowledgeCall) Context(ctx context.Context) *OrdersAcknowledgeCall {
 	c.ctx_ = ctx
 	return c
@@ -1885,9 +1885,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/acknowledge")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -1979,30 +1983,30 @@
 	s          *Service
 	merchantId uint64
 	orderId    string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Advancetestorder: Sandbox only. Moves a test order from state
 // "inProgress" to state "pendingShipment".
 func (r *OrdersService) Advancetestorder(merchantId uint64, orderId string) *OrdersAdvancetestorderCall {
-	c := &OrdersAdvancetestorderCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersAdvancetestorderCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersAdvancetestorderCall) Fields(s ...googleapi.Field) *OrdersAdvancetestorderCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersAdvancetestorderCall) Context(ctx context.Context) *OrdersAdvancetestorderCall {
 	c.ctx_ = ctx
 	return c
@@ -2010,9 +2014,13 @@
 
 func (c *OrdersAdvancetestorderCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders/{orderId}/advance")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -2101,30 +2109,30 @@
 	merchantId          uint64
 	orderId             string
 	orderscancelrequest *OrdersCancelRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Cancel: Cancels all line items in an order.
 func (r *OrdersService) Cancel(merchantId uint64, orderId string, orderscancelrequest *OrdersCancelRequest) *OrdersCancelCall {
-	c := &OrdersCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.orderscancelrequest = orderscancelrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCancelCall) Fields(s ...googleapi.Field) *OrdersCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCancelCall) Context(ctx context.Context) *OrdersCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -2137,9 +2145,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -2232,30 +2244,30 @@
 	merchantId                  uint64
 	orderId                     string
 	orderscancellineitemrequest *OrdersCancelLineItemRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Cancellineitem: Cancels a line item.
 func (r *OrdersService) Cancellineitem(merchantId uint64, orderId string, orderscancellineitemrequest *OrdersCancelLineItemRequest) *OrdersCancellineitemCall {
-	c := &OrdersCancellineitemCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCancellineitemCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.orderscancellineitemrequest = orderscancellineitemrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCancellineitemCall) Fields(s ...googleapi.Field) *OrdersCancellineitemCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCancellineitemCall) Context(ctx context.Context) *OrdersCancellineitemCall {
 	c.ctx_ = ctx
 	return c
@@ -2268,9 +2280,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/cancelLineItem")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -2362,29 +2378,29 @@
 	s                            *Service
 	merchantId                   uint64
 	orderscreatetestorderrequest *OrdersCreateTestOrderRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
 // Createtestorder: Sandbox only. Creates a test order.
 func (r *OrdersService) Createtestorder(merchantId uint64, orderscreatetestorderrequest *OrdersCreateTestOrderRequest) *OrdersCreatetestorderCall {
-	c := &OrdersCreatetestorderCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCreatetestorderCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderscreatetestorderrequest = orderscreatetestorderrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCreatetestorderCall) Fields(s ...googleapi.Field) *OrdersCreatetestorderCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCreatetestorderCall) Context(ctx context.Context) *OrdersCreatetestorderCall {
 	c.ctx_ = ctx
 	return c
@@ -2397,9 +2413,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -2482,29 +2502,29 @@
 type OrdersCustombatchCall struct {
 	s                        *Service
 	orderscustombatchrequest *OrdersCustomBatchRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Custombatch: Retrieves or modifies multiple orders in a single
 // request.
 func (r *OrdersService) Custombatch(orderscustombatchrequest *OrdersCustomBatchRequest) *OrdersCustombatchCall {
-	c := &OrdersCustombatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersCustombatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.orderscustombatchrequest = orderscustombatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersCustombatchCall) Fields(s ...googleapi.Field) *OrdersCustombatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersCustombatchCall) Context(ctx context.Context) *OrdersCustombatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2517,9 +2537,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "orders/batch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2586,27 +2610,26 @@
 // method id "content.orders.get":
 
 type OrdersGetCall struct {
-	s            *Service
-	merchantId   uint64
-	orderId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	orderId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves an order from your Merchant Center account.
 func (r *OrdersService) Get(merchantId uint64, orderId string) *OrdersGetCall {
-	c := &OrdersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2616,13 +2639,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2630,17 +2653,21 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 		"orderId":    c.orderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2723,24 +2750,23 @@
 	s               *Service
 	merchantId      uint64
 	merchantOrderId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Getbymerchantorderid: Retrieves an order using merchant order id.
 func (r *OrdersService) Getbymerchantorderid(merchantId uint64, merchantOrderId string) *OrdersGetbymerchantorderidCall {
-	c := &OrdersGetbymerchantorderidCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGetbymerchantorderidCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.merchantOrderId = merchantOrderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGetbymerchantorderidCall) Fields(s ...googleapi.Field) *OrdersGetbymerchantorderidCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2750,13 +2776,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGetbymerchantorderidCall) IfNoneMatch(entityTag string) *OrdersGetbymerchantorderidCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGetbymerchantorderidCall) Context(ctx context.Context) *OrdersGetbymerchantorderidCall {
 	c.ctx_ = ctx
 	return c
@@ -2764,17 +2790,21 @@
 
 func (c *OrdersGetbymerchantorderidCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/ordersbymerchantid/{merchantOrderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId":      strconv.FormatUint(c.merchantId, 10),
 		"merchantOrderId": c.merchantOrderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2858,25 +2888,24 @@
 	s            *Service
 	merchantId   uint64
 	templateName string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Gettestordertemplate: Sandbox only. Retrieves an order template that
 // can be used to quickly create a new order in sandbox.
 func (r *OrdersService) Gettestordertemplate(merchantId uint64, templateName string) *OrdersGettestordertemplateCall {
-	c := &OrdersGettestordertemplateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGettestordertemplateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.templateName = templateName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGettestordertemplateCall) Fields(s ...googleapi.Field) *OrdersGettestordertemplateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2886,13 +2915,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGettestordertemplateCall) IfNoneMatch(entityTag string) *OrdersGettestordertemplateCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGettestordertemplateCall) Context(ctx context.Context) *OrdersGettestordertemplateCall {
 	c.ctx_ = ctx
 	return c
@@ -2900,17 +2929,21 @@
 
 func (c *OrdersGettestordertemplateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testordertemplates/{templateName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId":   strconv.FormatUint(c.merchantId, 10),
 		"templateName": c.templateName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2999,16 +3032,15 @@
 // method id "content.orders.list":
 
 type OrdersListCall struct {
-	s            *Service
-	merchantId   uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	merchantId uint64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the orders in your Merchant Center account.
 func (r *OrdersService) List(merchantId uint64) *OrdersListCall {
-	c := &OrdersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	return c
 }
@@ -3020,7 +3052,7 @@
 // We recommend using this filter set to false, in conjunction with the
 // acknowledge call, such that only un-acknowledged orders are returned.
 func (c *OrdersListCall) Acknowledged(acknowledged bool) *OrdersListCall {
-	c.urlParams_.Set("acknowledged", fmt.Sprintf("%v", acknowledged))
+	c.opt_["acknowledged"] = acknowledged
 	return c
 }
 
@@ -3031,7 +3063,7 @@
 // Known issue: All List calls will return all Orders without limit
 // regardless of the value of this field.
 func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3047,21 +3079,21 @@
 //   "placedDate asc"
 //   "placedDate desc"
 func (c *OrdersListCall) OrderBy(orderBy string) *OrdersListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PlacedDateEnd sets the optional parameter "placedDateEnd": Obtains
 // orders placed before this date (exclusively), in ISO 8601 format.
 func (c *OrdersListCall) PlacedDateEnd(placedDateEnd string) *OrdersListCall {
-	c.urlParams_.Set("placedDateEnd", placedDateEnd)
+	c.opt_["placedDateEnd"] = placedDateEnd
 	return c
 }
 
@@ -3069,7 +3101,7 @@
 // Obtains orders placed after this date (inclusively), in ISO 8601
 // format.
 func (c *OrdersListCall) PlacedDateStart(placedDateStart string) *OrdersListCall {
-	c.urlParams_.Set("placedDateStart", placedDateStart)
+	c.opt_["placedDateStart"] = placedDateStart
 	return c
 }
 
@@ -3092,16 +3124,16 @@
 //   "pendingShipment"
 //   "returned"
 //   "shipped"
-func (c *OrdersListCall) Statuses(statuses []string) *OrdersListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *OrdersListCall) Statuses(statuses string) *OrdersListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3111,13 +3143,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 	c.ctx_ = ctx
 	return c
@@ -3125,16 +3157,41 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acknowledged"]; ok {
+		params.Set("acknowledged", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placedDateEnd"]; ok {
+		params.Set("placedDateEnd", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placedDateStart"]; ok {
+		params.Set("placedDateStart", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3282,30 +3339,30 @@
 	merchantId          uint64
 	orderId             string
 	ordersrefundrequest *OrdersRefundRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Refund: Refund a portion of the order, up to the full amount paid.
 func (r *OrdersService) Refund(merchantId uint64, orderId string, ordersrefundrequest *OrdersRefundRequest) *OrdersRefundCall {
-	c := &OrdersRefundCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersRefundCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersrefundrequest = ordersrefundrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersRefundCall) Fields(s ...googleapi.Field) *OrdersRefundCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersRefundCall) Context(ctx context.Context) *OrdersRefundCall {
 	c.ctx_ = ctx
 	return c
@@ -3318,9 +3375,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/refund")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -3413,30 +3474,30 @@
 	merchantId                  uint64
 	orderId                     string
 	ordersreturnlineitemrequest *OrdersReturnLineItemRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Returnlineitem: Returns a line item.
 func (r *OrdersService) Returnlineitem(merchantId uint64, orderId string, ordersreturnlineitemrequest *OrdersReturnLineItemRequest) *OrdersReturnlineitemCall {
-	c := &OrdersReturnlineitemCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersReturnlineitemCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersreturnlineitemrequest = ordersreturnlineitemrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersReturnlineitemCall) Fields(s ...googleapi.Field) *OrdersReturnlineitemCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersReturnlineitemCall) Context(ctx context.Context) *OrdersReturnlineitemCall {
 	c.ctx_ = ctx
 	return c
@@ -3449,9 +3510,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/returnLineItem")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -3544,30 +3609,30 @@
 	merchantId                 uint64
 	orderId                    string
 	ordersshiplineitemsrequest *OrdersShipLineItemsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // Shiplineitems: Marks line item(s) as shipped.
 func (r *OrdersService) Shiplineitems(merchantId uint64, orderId string, ordersshiplineitemsrequest *OrdersShipLineItemsRequest) *OrdersShiplineitemsCall {
-	c := &OrdersShiplineitemsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersShiplineitemsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersshiplineitemsrequest = ordersshiplineitemsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersShiplineitemsCall) Fields(s ...googleapi.Field) *OrdersShiplineitemsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersShiplineitemsCall) Context(ctx context.Context) *OrdersShiplineitemsCall {
 	c.ctx_ = ctx
 	return c
@@ -3580,9 +3645,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/shipLineItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -3675,31 +3744,31 @@
 	merchantId                         uint64
 	orderId                            string
 	ordersupdatemerchantorderidrequest *OrdersUpdateMerchantOrderIdRequest
-	urlParams_                         internal.URLParams
+	opt_                               map[string]interface{}
 	ctx_                               context.Context
 }
 
 // Updatemerchantorderid: Updates the merchant order ID for a given
 // order.
 func (r *OrdersService) Updatemerchantorderid(merchantId uint64, orderId string, ordersupdatemerchantorderidrequest *OrdersUpdateMerchantOrderIdRequest) *OrdersUpdatemerchantorderidCall {
-	c := &OrdersUpdatemerchantorderidCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersUpdatemerchantorderidCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersupdatemerchantorderidrequest = ordersupdatemerchantorderidrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersUpdatemerchantorderidCall) Fields(s ...googleapi.Field) *OrdersUpdatemerchantorderidCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersUpdatemerchantorderidCall) Context(ctx context.Context) *OrdersUpdatemerchantorderidCall {
 	c.ctx_ = ctx
 	return c
@@ -3712,9 +3781,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateMerchantOrderId")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
@@ -3808,31 +3881,31 @@
 	merchantId                  uint64
 	orderId                     string
 	ordersupdateshipmentrequest *OrdersUpdateShipmentRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Updateshipment: Updates a shipment's status, carrier, and/or tracking
 // ID.
 func (r *OrdersService) Updateshipment(merchantId uint64, orderId string, ordersupdateshipmentrequest *OrdersUpdateShipmentRequest) *OrdersUpdateshipmentCall {
-	c := &OrdersUpdateshipmentCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersUpdateshipmentCall{s: r.s, opt_: make(map[string]interface{})}
 	c.merchantId = merchantId
 	c.orderId = orderId
 	c.ordersupdateshipmentrequest = ordersupdateshipmentrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersUpdateshipmentCall) Fields(s ...googleapi.Field) *OrdersUpdateshipmentCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersUpdateshipmentCall) Context(ctx context.Context) *OrdersUpdateshipmentCall {
 	c.ctx_ = ctx
 	return c
@@ -3845,9 +3918,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateShipment")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"merchantId": strconv.FormatUint(c.merchantId, 10),
diff --git a/coordinate/v1/coordinate-gen.go b/coordinate/v1/coordinate-gen.go
index 8c9261b..2c84b86 100644
--- a/coordinate/v1/coordinate-gen.go
+++ b/coordinate/v1/coordinate-gen.go
@@ -695,25 +695,24 @@
 // method id "coordinate.customFieldDef.list":
 
 type CustomFieldDefListCall struct {
-	s            *Service
-	teamId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	teamId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of custom field definitions for a team.
 func (r *CustomFieldDefService) List(teamId string) *CustomFieldDefListCall {
-	c := &CustomFieldDefListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomFieldDefListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomFieldDefListCall) Fields(s ...googleapi.Field) *CustomFieldDefListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -723,13 +722,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomFieldDefListCall) IfNoneMatch(entityTag string) *CustomFieldDefListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomFieldDefListCall) Context(ctx context.Context) *CustomFieldDefListCall {
 	c.ctx_ = ctx
 	return c
@@ -737,16 +736,20 @@
 
 func (c *CustomFieldDefListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/custom_fields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -819,27 +822,26 @@
 // method id "coordinate.jobs.get":
 
 type JobsGetCall struct {
-	s            *Service
-	teamId       string
-	jobId        uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	teamId string
+	jobId  uint64
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves a job, including all the changes made to the job.
 func (r *JobsService) Get(teamId string, jobId uint64) *JobsGetCall {
-	c := &JobsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.jobId = jobId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsGetCall) Fields(s ...googleapi.Field) *JobsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -849,13 +851,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *JobsGetCall) IfNoneMatch(entityTag string) *JobsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsGetCall) Context(ctx context.Context) *JobsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -863,17 +865,21 @@
 
 func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
 		"jobId":  strconv.FormatUint(c.jobId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -954,22 +960,26 @@
 // method id "coordinate.jobs.insert":
 
 type JobsInsertCall struct {
-	s          *Service
-	teamId     string
-	job        *Job
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	teamId  string
+	address string
+	lat     float64
+	lng     float64
+	title   string
+	job     *Job
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Inserts a new job. Only the state field of the job should be
 // set.
 func (r *JobsService) Insert(teamId string, address string, lat float64, lng float64, title string, job *Job) *JobsInsertCall {
-	c := &JobsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
-	c.urlParams_.Set("address", address)
-	c.urlParams_.Set("lat", fmt.Sprintf("%v", lat))
-	c.urlParams_.Set("lng", fmt.Sprintf("%v", lng))
-	c.urlParams_.Set("title", title)
+	c.address = address
+	c.lat = lat
+	c.lng = lng
+	c.title = title
 	c.job = job
 	return c
 }
@@ -977,7 +987,7 @@
 // Assignee sets the optional parameter "assignee": Assignee email
 // address, or empty string to unassign.
 func (c *JobsInsertCall) Assignee(assignee string) *JobsInsertCall {
-	c.urlParams_.Set("assignee", assignee)
+	c.opt_["assignee"] = assignee
 	return c
 }
 
@@ -988,43 +998,43 @@
 // Repeat the parameter for each custom field. Note that '=' cannot
 // appear in the parameter value. Specifying an invalid, or inactive
 // enum field will result in an error 500.
-func (c *JobsInsertCall) CustomField(customField []string) *JobsInsertCall {
-	c.urlParams_.SetMulti("customField", append([]string{}, customField...))
+func (c *JobsInsertCall) CustomField(customField string) *JobsInsertCall {
+	c.opt_["customField"] = customField
 	return c
 }
 
 // CustomerName sets the optional parameter "customerName": Customer
 // name
 func (c *JobsInsertCall) CustomerName(customerName string) *JobsInsertCall {
-	c.urlParams_.Set("customerName", customerName)
+	c.opt_["customerName"] = customerName
 	return c
 }
 
 // CustomerPhoneNumber sets the optional parameter
 // "customerPhoneNumber": Customer phone number
 func (c *JobsInsertCall) CustomerPhoneNumber(customerPhoneNumber string) *JobsInsertCall {
-	c.urlParams_.Set("customerPhoneNumber", customerPhoneNumber)
+	c.opt_["customerPhoneNumber"] = customerPhoneNumber
 	return c
 }
 
 // Note sets the optional parameter "note": Job note as newline (Unix)
 // separated string
 func (c *JobsInsertCall) Note(note string) *JobsInsertCall {
-	c.urlParams_.Set("note", note)
+	c.opt_["note"] = note
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsInsertCall) Fields(s ...googleapi.Field) *JobsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsInsertCall) Context(ctx context.Context) *JobsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1037,9 +1047,32 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("address", fmt.Sprintf("%v", c.address))
+	params.Set("lat", fmt.Sprintf("%v", c.lat))
+	params.Set("lng", fmt.Sprintf("%v", c.lng))
+	params.Set("title", fmt.Sprintf("%v", c.title))
+	if v, ok := c.opt_["assignee"]; ok {
+		params.Set("assignee", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customField"]; ok {
+		params.Set("customField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerName"]; ok {
+		params.Set("customerName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerPhoneNumber"]; ok {
+		params.Set("customerPhoneNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["note"]; ok {
+		params.Set("note", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
@@ -1175,16 +1208,15 @@
 // method id "coordinate.jobs.list":
 
 type JobsListCall struct {
-	s            *Service
-	teamId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	teamId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves jobs created or modified since the given timestamp.
 func (r *JobsService) List(teamId string) *JobsListCall {
-	c := &JobsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	return c
 }
@@ -1192,7 +1224,7 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return in one page.
 func (c *JobsListCall) MaxResults(maxResults int64) *JobsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1200,28 +1232,28 @@
 // "minModifiedTimestampMs": Minimum time a job was modified in
 // milliseconds since epoch.
 func (c *JobsListCall) MinModifiedTimestampMs(minModifiedTimestampMs uint64) *JobsListCall {
-	c.urlParams_.Set("minModifiedTimestampMs", fmt.Sprintf("%v", minModifiedTimestampMs))
+	c.opt_["minModifiedTimestampMs"] = minModifiedTimestampMs
 	return c
 }
 
 // OmitJobChanges sets the optional parameter "omitJobChanges": Whether
 // to omit detail job history information.
 func (c *JobsListCall) OmitJobChanges(omitJobChanges bool) *JobsListCall {
-	c.urlParams_.Set("omitJobChanges", fmt.Sprintf("%v", omitJobChanges))
+	c.opt_["omitJobChanges"] = omitJobChanges
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 func (c *JobsListCall) PageToken(pageToken string) *JobsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsListCall) Fields(s ...googleapi.Field) *JobsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1231,13 +1263,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *JobsListCall) IfNoneMatch(entityTag string) *JobsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsListCall) Context(ctx context.Context) *JobsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1245,16 +1277,32 @@
 
 func (c *JobsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minModifiedTimestampMs"]; ok {
+		params.Set("minModifiedTimestampMs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["omitJobChanges"]; ok {
+		params.Set("omitJobChanges", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1349,18 +1397,18 @@
 // method id "coordinate.jobs.patch":
 
 type JobsPatchCall struct {
-	s          *Service
-	teamId     string
-	jobId      uint64
-	job        *Job
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	teamId string
+	jobId  uint64
+	job    *Job
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Updates a job. Fields that are set in the job state will be
 // updated. This method supports patch semantics.
 func (r *JobsService) Patch(teamId string, jobId uint64, job *Job) *JobsPatchCall {
-	c := &JobsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.jobId = jobId
 	c.job = job
@@ -1370,14 +1418,14 @@
 // Address sets the optional parameter "address": Job address as newline
 // (Unix) separated string
 func (c *JobsPatchCall) Address(address string) *JobsPatchCall {
-	c.urlParams_.Set("address", address)
+	c.opt_["address"] = address
 	return c
 }
 
 // Assignee sets the optional parameter "assignee": Assignee email
 // address, or empty string to unassign.
 func (c *JobsPatchCall) Assignee(assignee string) *JobsPatchCall {
-	c.urlParams_.Set("assignee", assignee)
+	c.opt_["assignee"] = assignee
 	return c
 }
 
@@ -1388,43 +1436,43 @@
 // Repeat the parameter for each custom field. Note that '=' cannot
 // appear in the parameter value. Specifying an invalid, or inactive
 // enum field will result in an error 500.
-func (c *JobsPatchCall) CustomField(customField []string) *JobsPatchCall {
-	c.urlParams_.SetMulti("customField", append([]string{}, customField...))
+func (c *JobsPatchCall) CustomField(customField string) *JobsPatchCall {
+	c.opt_["customField"] = customField
 	return c
 }
 
 // CustomerName sets the optional parameter "customerName": Customer
 // name
 func (c *JobsPatchCall) CustomerName(customerName string) *JobsPatchCall {
-	c.urlParams_.Set("customerName", customerName)
+	c.opt_["customerName"] = customerName
 	return c
 }
 
 // CustomerPhoneNumber sets the optional parameter
 // "customerPhoneNumber": Customer phone number
 func (c *JobsPatchCall) CustomerPhoneNumber(customerPhoneNumber string) *JobsPatchCall {
-	c.urlParams_.Set("customerPhoneNumber", customerPhoneNumber)
+	c.opt_["customerPhoneNumber"] = customerPhoneNumber
 	return c
 }
 
 // Lat sets the optional parameter "lat": The latitude coordinate of
 // this job's location.
 func (c *JobsPatchCall) Lat(lat float64) *JobsPatchCall {
-	c.urlParams_.Set("lat", fmt.Sprintf("%v", lat))
+	c.opt_["lat"] = lat
 	return c
 }
 
 // Lng sets the optional parameter "lng": The longitude coordinate of
 // this job's location.
 func (c *JobsPatchCall) Lng(lng float64) *JobsPatchCall {
-	c.urlParams_.Set("lng", fmt.Sprintf("%v", lng))
+	c.opt_["lng"] = lng
 	return c
 }
 
 // Note sets the optional parameter "note": Job note as newline (Unix)
 // separated string
 func (c *JobsPatchCall) Note(note string) *JobsPatchCall {
-	c.urlParams_.Set("note", note)
+	c.opt_["note"] = note
 	return c
 }
 
@@ -1437,27 +1485,27 @@
 //   "NOT_STARTED" - Not started
 //   "OBSOLETE" - Obsolete
 func (c *JobsPatchCall) Progress(progress string) *JobsPatchCall {
-	c.urlParams_.Set("progress", progress)
+	c.opt_["progress"] = progress
 	return c
 }
 
 // Title sets the optional parameter "title": Job title
 func (c *JobsPatchCall) Title(title string) *JobsPatchCall {
-	c.urlParams_.Set("title", title)
+	c.opt_["title"] = title
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsPatchCall) Fields(s ...googleapi.Field) *JobsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsPatchCall) Context(ctx context.Context) *JobsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1470,9 +1518,43 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["address"]; ok {
+		params.Set("address", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["assignee"]; ok {
+		params.Set("assignee", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customField"]; ok {
+		params.Set("customField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerName"]; ok {
+		params.Set("customerName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerPhoneNumber"]; ok {
+		params.Set("customerPhoneNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lat"]; ok {
+		params.Set("lat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lng"]; ok {
+		params.Set("lng", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["note"]; ok {
+		params.Set("note", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["progress"]; ok {
+		params.Set("progress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["title"]; ok {
+		params.Set("title", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
@@ -1628,18 +1710,18 @@
 // method id "coordinate.jobs.update":
 
 type JobsUpdateCall struct {
-	s          *Service
-	teamId     string
-	jobId      uint64
-	job        *Job
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	teamId string
+	jobId  uint64
+	job    *Job
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Updates a job. Fields that are set in the job state will be
 // updated.
 func (r *JobsService) Update(teamId string, jobId uint64, job *Job) *JobsUpdateCall {
-	c := &JobsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.jobId = jobId
 	c.job = job
@@ -1649,14 +1731,14 @@
 // Address sets the optional parameter "address": Job address as newline
 // (Unix) separated string
 func (c *JobsUpdateCall) Address(address string) *JobsUpdateCall {
-	c.urlParams_.Set("address", address)
+	c.opt_["address"] = address
 	return c
 }
 
 // Assignee sets the optional parameter "assignee": Assignee email
 // address, or empty string to unassign.
 func (c *JobsUpdateCall) Assignee(assignee string) *JobsUpdateCall {
-	c.urlParams_.Set("assignee", assignee)
+	c.opt_["assignee"] = assignee
 	return c
 }
 
@@ -1667,43 +1749,43 @@
 // Repeat the parameter for each custom field. Note that '=' cannot
 // appear in the parameter value. Specifying an invalid, or inactive
 // enum field will result in an error 500.
-func (c *JobsUpdateCall) CustomField(customField []string) *JobsUpdateCall {
-	c.urlParams_.SetMulti("customField", append([]string{}, customField...))
+func (c *JobsUpdateCall) CustomField(customField string) *JobsUpdateCall {
+	c.opt_["customField"] = customField
 	return c
 }
 
 // CustomerName sets the optional parameter "customerName": Customer
 // name
 func (c *JobsUpdateCall) CustomerName(customerName string) *JobsUpdateCall {
-	c.urlParams_.Set("customerName", customerName)
+	c.opt_["customerName"] = customerName
 	return c
 }
 
 // CustomerPhoneNumber sets the optional parameter
 // "customerPhoneNumber": Customer phone number
 func (c *JobsUpdateCall) CustomerPhoneNumber(customerPhoneNumber string) *JobsUpdateCall {
-	c.urlParams_.Set("customerPhoneNumber", customerPhoneNumber)
+	c.opt_["customerPhoneNumber"] = customerPhoneNumber
 	return c
 }
 
 // Lat sets the optional parameter "lat": The latitude coordinate of
 // this job's location.
 func (c *JobsUpdateCall) Lat(lat float64) *JobsUpdateCall {
-	c.urlParams_.Set("lat", fmt.Sprintf("%v", lat))
+	c.opt_["lat"] = lat
 	return c
 }
 
 // Lng sets the optional parameter "lng": The longitude coordinate of
 // this job's location.
 func (c *JobsUpdateCall) Lng(lng float64) *JobsUpdateCall {
-	c.urlParams_.Set("lng", fmt.Sprintf("%v", lng))
+	c.opt_["lng"] = lng
 	return c
 }
 
 // Note sets the optional parameter "note": Job note as newline (Unix)
 // separated string
 func (c *JobsUpdateCall) Note(note string) *JobsUpdateCall {
-	c.urlParams_.Set("note", note)
+	c.opt_["note"] = note
 	return c
 }
 
@@ -1716,27 +1798,27 @@
 //   "NOT_STARTED" - Not started
 //   "OBSOLETE" - Obsolete
 func (c *JobsUpdateCall) Progress(progress string) *JobsUpdateCall {
-	c.urlParams_.Set("progress", progress)
+	c.opt_["progress"] = progress
 	return c
 }
 
 // Title sets the optional parameter "title": Job title
 func (c *JobsUpdateCall) Title(title string) *JobsUpdateCall {
-	c.urlParams_.Set("title", title)
+	c.opt_["title"] = title
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsUpdateCall) Fields(s ...googleapi.Field) *JobsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsUpdateCall) Context(ctx context.Context) *JobsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1749,9 +1831,43 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["address"]; ok {
+		params.Set("address", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["assignee"]; ok {
+		params.Set("assignee", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customField"]; ok {
+		params.Set("customField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerName"]; ok {
+		params.Set("customerName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerPhoneNumber"]; ok {
+		params.Set("customerPhoneNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lat"]; ok {
+		params.Set("lat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lng"]; ok {
+		params.Set("lng", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["note"]; ok {
+		params.Set("note", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["progress"]; ok {
+		params.Set("progress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["title"]; ok {
+		params.Set("title", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
@@ -1907,41 +2023,41 @@
 // method id "coordinate.location.list":
 
 type LocationListCall struct {
-	s            *Service
-	teamId       string
-	workerEmail  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                *Service
+	teamId           string
+	workerEmail      string
+	startTimestampMs uint64
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // List: Retrieves a list of locations for a worker.
 func (r *LocationService) List(teamId string, workerEmail string, startTimestampMs uint64) *LocationListCall {
-	c := &LocationListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LocationListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.workerEmail = workerEmail
-	c.urlParams_.Set("startTimestampMs", fmt.Sprintf("%v", startTimestampMs))
+	c.startTimestampMs = startTimestampMs
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return in one page.
 func (c *LocationListCall) MaxResults(maxResults int64) *LocationListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 func (c *LocationListCall) PageToken(pageToken string) *LocationListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LocationListCall) Fields(s ...googleapi.Field) *LocationListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1951,13 +2067,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LocationListCall) IfNoneMatch(entityTag string) *LocationListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LocationListCall) Context(ctx context.Context) *LocationListCall {
 	c.ctx_ = ctx
 	return c
@@ -1965,17 +2081,28 @@
 
 func (c *LocationListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("startTimestampMs", fmt.Sprintf("%v", c.startTimestampMs))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/workers/{workerEmail}/locations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId":      c.teamId,
 		"workerEmail": c.workerEmail,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2074,27 +2201,26 @@
 // method id "coordinate.schedule.get":
 
 type ScheduleGetCall struct {
-	s            *Service
-	teamId       string
-	jobId        uint64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	teamId string
+	jobId  uint64
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves the schedule for a job.
 func (r *ScheduleService) Get(teamId string, jobId uint64) *ScheduleGetCall {
-	c := &ScheduleGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScheduleGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.jobId = jobId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScheduleGetCall) Fields(s ...googleapi.Field) *ScheduleGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2104,13 +2230,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ScheduleGetCall) IfNoneMatch(entityTag string) *ScheduleGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScheduleGetCall) Context(ctx context.Context) *ScheduleGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2118,17 +2244,21 @@
 
 func (c *ScheduleGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs/{jobId}/schedule")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
 		"jobId":  strconv.FormatUint(c.jobId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2209,18 +2339,18 @@
 // method id "coordinate.schedule.patch":
 
 type SchedulePatchCall struct {
-	s          *Service
-	teamId     string
-	jobId      uint64
-	schedule   *Schedule
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	teamId   string
+	jobId    uint64
+	schedule *Schedule
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Patch: Replaces the schedule of a job with the provided schedule.
 // This method supports patch semantics.
 func (r *ScheduleService) Patch(teamId string, jobId uint64, schedule *Schedule) *SchedulePatchCall {
-	c := &SchedulePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SchedulePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.jobId = jobId
 	c.schedule = schedule
@@ -2231,42 +2361,42 @@
 // scheduled for the whole day. Time of day in start/end times is
 // ignored if this is true.
 func (c *SchedulePatchCall) AllDay(allDay bool) *SchedulePatchCall {
-	c.urlParams_.Set("allDay", fmt.Sprintf("%v", allDay))
+	c.opt_["allDay"] = allDay
 	return c
 }
 
 // Duration sets the optional parameter "duration": Job duration in
 // milliseconds.
 func (c *SchedulePatchCall) Duration(duration uint64) *SchedulePatchCall {
-	c.urlParams_.Set("duration", fmt.Sprintf("%v", duration))
+	c.opt_["duration"] = duration
 	return c
 }
 
 // EndTime sets the optional parameter "endTime": Scheduled end time in
 // milliseconds since epoch.
 func (c *SchedulePatchCall) EndTime(endTime uint64) *SchedulePatchCall {
-	c.urlParams_.Set("endTime", fmt.Sprintf("%v", endTime))
+	c.opt_["endTime"] = endTime
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": Scheduled start
 // time in milliseconds since epoch.
 func (c *SchedulePatchCall) StartTime(startTime uint64) *SchedulePatchCall {
-	c.urlParams_.Set("startTime", fmt.Sprintf("%v", startTime))
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SchedulePatchCall) Fields(s ...googleapi.Field) *SchedulePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SchedulePatchCall) Context(ctx context.Context) *SchedulePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2279,9 +2409,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["allDay"]; ok {
+		params.Set("allDay", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["duration"]; ok {
+		params.Set("duration", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endTime"]; ok {
+		params.Set("endTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs/{jobId}/schedule")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
@@ -2393,17 +2539,17 @@
 // method id "coordinate.schedule.update":
 
 type ScheduleUpdateCall struct {
-	s          *Service
-	teamId     string
-	jobId      uint64
-	schedule   *Schedule
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	teamId   string
+	jobId    uint64
+	schedule *Schedule
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Replaces the schedule of a job with the provided schedule.
 func (r *ScheduleService) Update(teamId string, jobId uint64, schedule *Schedule) *ScheduleUpdateCall {
-	c := &ScheduleUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScheduleUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	c.jobId = jobId
 	c.schedule = schedule
@@ -2414,42 +2560,42 @@
 // scheduled for the whole day. Time of day in start/end times is
 // ignored if this is true.
 func (c *ScheduleUpdateCall) AllDay(allDay bool) *ScheduleUpdateCall {
-	c.urlParams_.Set("allDay", fmt.Sprintf("%v", allDay))
+	c.opt_["allDay"] = allDay
 	return c
 }
 
 // Duration sets the optional parameter "duration": Job duration in
 // milliseconds.
 func (c *ScheduleUpdateCall) Duration(duration uint64) *ScheduleUpdateCall {
-	c.urlParams_.Set("duration", fmt.Sprintf("%v", duration))
+	c.opt_["duration"] = duration
 	return c
 }
 
 // EndTime sets the optional parameter "endTime": Scheduled end time in
 // milliseconds since epoch.
 func (c *ScheduleUpdateCall) EndTime(endTime uint64) *ScheduleUpdateCall {
-	c.urlParams_.Set("endTime", fmt.Sprintf("%v", endTime))
+	c.opt_["endTime"] = endTime
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": Scheduled start
 // time in milliseconds since epoch.
 func (c *ScheduleUpdateCall) StartTime(startTime uint64) *ScheduleUpdateCall {
-	c.urlParams_.Set("startTime", fmt.Sprintf("%v", startTime))
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScheduleUpdateCall) Fields(s ...googleapi.Field) *ScheduleUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScheduleUpdateCall) Context(ctx context.Context) *ScheduleUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2462,9 +2608,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["allDay"]; ok {
+		params.Set("allDay", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["duration"]; ok {
+		params.Set("duration", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endTime"]; ok {
+		params.Set("endTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/jobs/{jobId}/schedule")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
@@ -2576,44 +2738,43 @@
 // method id "coordinate.team.list":
 
 type TeamListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of teams for a user.
 func (r *TeamService) List() *TeamListCall {
-	c := &TeamListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TeamListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Admin sets the optional parameter "admin": Whether to include teams
 // for which the user has the Admin role.
 func (c *TeamListCall) Admin(admin bool) *TeamListCall {
-	c.urlParams_.Set("admin", fmt.Sprintf("%v", admin))
+	c.opt_["admin"] = admin
 	return c
 }
 
 // Dispatcher sets the optional parameter "dispatcher": Whether to
 // include teams for which the user has the Dispatcher role.
 func (c *TeamListCall) Dispatcher(dispatcher bool) *TeamListCall {
-	c.urlParams_.Set("dispatcher", fmt.Sprintf("%v", dispatcher))
+	c.opt_["dispatcher"] = dispatcher
 	return c
 }
 
 // Worker sets the optional parameter "worker": Whether to include teams
 // for which the user has the Worker role.
 func (c *TeamListCall) Worker(worker bool) *TeamListCall {
-	c.urlParams_.Set("worker", fmt.Sprintf("%v", worker))
+	c.opt_["worker"] = worker
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TeamListCall) Fields(s ...googleapi.Field) *TeamListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2623,13 +2784,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TeamListCall) IfNoneMatch(entityTag string) *TeamListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TeamListCall) Context(ctx context.Context) *TeamListCall {
 	c.ctx_ = ctx
 	return c
@@ -2637,14 +2798,27 @@
 
 func (c *TeamListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["admin"]; ok {
+		params.Set("admin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dispatcher"]; ok {
+		params.Set("dispatcher", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["worker"]; ok {
+		params.Set("worker", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2723,25 +2897,24 @@
 // method id "coordinate.worker.list":
 
 type WorkerListCall struct {
-	s            *Service
-	teamId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	teamId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of workers in a team.
 func (r *WorkerService) List(teamId string) *WorkerListCall {
-	c := &WorkerListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WorkerListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.teamId = teamId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WorkerListCall) Fields(s ...googleapi.Field) *WorkerListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2751,13 +2924,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *WorkerListCall) IfNoneMatch(entityTag string) *WorkerListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WorkerListCall) Context(ctx context.Context) *WorkerListCall {
 	c.ctx_ = ctx
 	return c
@@ -2765,16 +2938,20 @@
 
 func (c *WorkerListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "teams/{teamId}/workers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"teamId": c.teamId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/customsearch/v1/customsearch-gen.go b/customsearch/v1/customsearch-gen.go
index c06bdba..f57ac7f 100644
--- a/customsearch/v1/customsearch-gen.go
+++ b/customsearch/v1/customsearch-gen.go
@@ -486,58 +486,58 @@
 // method id "search.cse.list":
 
 type CseListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	q    string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns metadata about the search performed, metadata about the
 // custom search engine used for the search, and the search results.
 func (r *CseService) List(q string) *CseListCall {
-	c := &CseListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("q", q)
+	c := &CseListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.q = q
 	return c
 }
 
 // C2coff sets the optional parameter "c2coff": Turns off the
 // translation between zh-CN and zh-TW.
 func (c *CseListCall) C2coff(c2coff string) *CseListCall {
-	c.urlParams_.Set("c2coff", c2coff)
+	c.opt_["c2coff"] = c2coff
 	return c
 }
 
 // Cr sets the optional parameter "cr": Country restrict(s).
 func (c *CseListCall) Cr(cr string) *CseListCall {
-	c.urlParams_.Set("cr", cr)
+	c.opt_["cr"] = cr
 	return c
 }
 
 // Cref sets the optional parameter "cref": The URL of a linked custom
 // search engine
 func (c *CseListCall) Cref(cref string) *CseListCall {
-	c.urlParams_.Set("cref", cref)
+	c.opt_["cref"] = cref
 	return c
 }
 
 // Cx sets the optional parameter "cx": The custom search engine ID to
 // scope this search query
 func (c *CseListCall) Cx(cx string) *CseListCall {
-	c.urlParams_.Set("cx", cx)
+	c.opt_["cx"] = cx
 	return c
 }
 
 // DateRestrict sets the optional parameter "dateRestrict": Specifies
 // all search results are from a time period
 func (c *CseListCall) DateRestrict(dateRestrict string) *CseListCall {
-	c.urlParams_.Set("dateRestrict", dateRestrict)
+	c.opt_["dateRestrict"] = dateRestrict
 	return c
 }
 
 // ExactTerms sets the optional parameter "exactTerms": Identifies a
 // phrase that all documents in the search results must contain
 func (c *CseListCall) ExactTerms(exactTerms string) *CseListCall {
-	c.urlParams_.Set("exactTerms", exactTerms)
+	c.opt_["exactTerms"] = exactTerms
 	return c
 }
 
@@ -545,7 +545,7 @@
 // word or phrase that should not appear in any documents in the search
 // results
 func (c *CseListCall) ExcludeTerms(excludeTerms string) *CseListCall {
-	c.urlParams_.Set("excludeTerms", excludeTerms)
+	c.opt_["excludeTerms"] = excludeTerms
 	return c
 }
 
@@ -553,7 +553,7 @@
 // specified type. Some of the allowed values are: bmp, gif, png, jpg,
 // svg, pdf, ...
 func (c *CseListCall) FileType(fileType string) *CseListCall {
-	c.urlParams_.Set("fileType", fileType)
+	c.opt_["fileType"] = fileType
 	return c
 }
 
@@ -564,41 +564,41 @@
 //   "0" - Turns off duplicate content filter.
 //   "1" - Turns on duplicate content filter.
 func (c *CseListCall) Filter(filter string) *CseListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // Gl sets the optional parameter "gl": Geolocation of end user.
 func (c *CseListCall) Gl(gl string) *CseListCall {
-	c.urlParams_.Set("gl", gl)
+	c.opt_["gl"] = gl
 	return c
 }
 
 // Googlehost sets the optional parameter "googlehost": The local Google
 // domain to use to perform the search.
 func (c *CseListCall) Googlehost(googlehost string) *CseListCall {
-	c.urlParams_.Set("googlehost", googlehost)
+	c.opt_["googlehost"] = googlehost
 	return c
 }
 
 // HighRange sets the optional parameter "highRange": Creates a range in
 // form as_nlo value..as_nhi value and attempts to append it to query
 func (c *CseListCall) HighRange(highRange string) *CseListCall {
-	c.urlParams_.Set("highRange", highRange)
+	c.opt_["highRange"] = highRange
 	return c
 }
 
 // Hl sets the optional parameter "hl": Sets the user interface
 // language.
 func (c *CseListCall) Hl(hl string) *CseListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
 // Hq sets the optional parameter "hq": Appends the extra query terms to
 // the query.
 func (c *CseListCall) Hq(hq string) *CseListCall {
-	c.urlParams_.Set("hq", hq)
+	c.opt_["hq"] = hq
 	return c
 }
 
@@ -610,7 +610,7 @@
 //   "gray" - gray
 //   "mono" - mono
 func (c *CseListCall) ImgColorType(imgColorType string) *CseListCall {
-	c.urlParams_.Set("imgColorType", imgColorType)
+	c.opt_["imgColorType"] = imgColorType
 	return c
 }
 
@@ -630,7 +630,7 @@
 //   "white" - white
 //   "yellow" - yellow
 func (c *CseListCall) ImgDominantColor(imgDominantColor string) *CseListCall {
-	c.urlParams_.Set("imgDominantColor", imgDominantColor)
+	c.opt_["imgDominantColor"] = imgDominantColor
 	return c
 }
 
@@ -647,7 +647,7 @@
 //   "xlarge" - xlarge
 //   "xxlarge" - xxlarge
 func (c *CseListCall) ImgSize(imgSize string) *CseListCall {
-	c.urlParams_.Set("imgSize", imgSize)
+	c.opt_["imgSize"] = imgSize
 	return c
 }
 
@@ -661,21 +661,21 @@
 //   "news" - news
 //   "photo" - photo
 func (c *CseListCall) ImgType(imgType string) *CseListCall {
-	c.urlParams_.Set("imgType", imgType)
+	c.opt_["imgType"] = imgType
 	return c
 }
 
 // LinkSite sets the optional parameter "linkSite": Specifies that all
 // search results should contain a link to a particular URL
 func (c *CseListCall) LinkSite(linkSite string) *CseListCall {
-	c.urlParams_.Set("linkSite", linkSite)
+	c.opt_["linkSite"] = linkSite
 	return c
 }
 
 // LowRange sets the optional parameter "lowRange": Creates a range in
 // form as_nlo value..as_nhi value and attempts to append it to query
 func (c *CseListCall) LowRange(lowRange string) *CseListCall {
-	c.urlParams_.Set("lowRange", lowRange)
+	c.opt_["lowRange"] = lowRange
 	return c
 }
 
@@ -719,14 +719,14 @@
 //   "lang_zh-CN" - Chinese (Simplified)
 //   "lang_zh-TW" - Chinese (Traditional)
 func (c *CseListCall) Lr(lr string) *CseListCall {
-	c.urlParams_.Set("lr", lr)
+	c.opt_["lr"] = lr
 	return c
 }
 
 // Num sets the optional parameter "num": Number of search results to
 // return
 func (c *CseListCall) Num(num int64) *CseListCall {
-	c.urlParams_.Set("num", fmt.Sprintf("%v", num))
+	c.opt_["num"] = num
 	return c
 }
 
@@ -735,7 +735,7 @@
 // search results must contain at least one of the additional search
 // terms
 func (c *CseListCall) OrTerms(orTerms string) *CseListCall {
-	c.urlParams_.Set("orTerms", orTerms)
+	c.opt_["orTerms"] = orTerms
 	return c
 }
 
@@ -743,7 +743,7 @@
 // all search results should be pages that are related to the specified
 // URL
 func (c *CseListCall) RelatedSite(relatedSite string) *CseListCall {
-	c.urlParams_.Set("relatedSite", relatedSite)
+	c.opt_["relatedSite"] = relatedSite
 	return c
 }
 
@@ -752,7 +752,7 @@
 // cc_sharealike, cc_noncommercial, cc_nonderived and combinations of
 // these.
 func (c *CseListCall) Rights(rights string) *CseListCall {
-	c.urlParams_.Set("rights", rights)
+	c.opt_["rights"] = rights
 	return c
 }
 
@@ -763,7 +763,7 @@
 //   "medium" - Enables moderate safe search filtering.
 //   "off" (default) - Disables safe search filtering.
 func (c *CseListCall) Safe(safe string) *CseListCall {
-	c.urlParams_.Set("safe", safe)
+	c.opt_["safe"] = safe
 	return c
 }
 
@@ -773,14 +773,14 @@
 // Possible values:
 //   "image" - custom image search
 func (c *CseListCall) SearchType(searchType string) *CseListCall {
-	c.urlParams_.Set("searchType", searchType)
+	c.opt_["searchType"] = searchType
 	return c
 }
 
 // SiteSearch sets the optional parameter "siteSearch": Specifies all
 // search results should be pages from a given site
 func (c *CseListCall) SiteSearch(siteSearch string) *CseListCall {
-	c.urlParams_.Set("siteSearch", siteSearch)
+	c.opt_["siteSearch"] = siteSearch
 	return c
 }
 
@@ -792,29 +792,29 @@
 //   "e" - exclude
 //   "i" - include
 func (c *CseListCall) SiteSearchFilter(siteSearchFilter string) *CseListCall {
-	c.urlParams_.Set("siteSearchFilter", siteSearchFilter)
+	c.opt_["siteSearchFilter"] = siteSearchFilter
 	return c
 }
 
 // Sort sets the optional parameter "sort": The sort expression to apply
 // to the results
 func (c *CseListCall) Sort(sort string) *CseListCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
 // Start sets the optional parameter "start": The index of the first
 // result to return
 func (c *CseListCall) Start(start int64) *CseListCall {
-	c.urlParams_.Set("start", fmt.Sprintf("%v", start))
+	c.opt_["start"] = start
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CseListCall) Fields(s ...googleapi.Field) *CseListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -824,13 +824,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CseListCall) IfNoneMatch(entityTag string) *CseListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CseListCall) Context(ctx context.Context) *CseListCall {
 	c.ctx_ = ctx
 	return c
@@ -838,14 +838,112 @@
 
 func (c *CseListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("q", fmt.Sprintf("%v", c.q))
+	if v, ok := c.opt_["c2coff"]; ok {
+		params.Set("c2coff", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["cr"]; ok {
+		params.Set("cr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["cref"]; ok {
+		params.Set("cref", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["cx"]; ok {
+		params.Set("cx", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dateRestrict"]; ok {
+		params.Set("dateRestrict", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["exactTerms"]; ok {
+		params.Set("exactTerms", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["excludeTerms"]; ok {
+		params.Set("excludeTerms", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fileType"]; ok {
+		params.Set("fileType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["gl"]; ok {
+		params.Set("gl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["googlehost"]; ok {
+		params.Set("googlehost", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["highRange"]; ok {
+		params.Set("highRange", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["hq"]; ok {
+		params.Set("hq", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["imgColorType"]; ok {
+		params.Set("imgColorType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["imgDominantColor"]; ok {
+		params.Set("imgDominantColor", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["imgSize"]; ok {
+		params.Set("imgSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["imgType"]; ok {
+		params.Set("imgType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["linkSite"]; ok {
+		params.Set("linkSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lowRange"]; ok {
+		params.Set("lowRange", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lr"]; ok {
+		params.Set("lr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["num"]; ok {
+		params.Set("num", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orTerms"]; ok {
+		params.Set("orTerms", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["relatedSite"]; ok {
+		params.Set("relatedSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["rights"]; ok {
+		params.Set("rights", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["safe"]; ok {
+		params.Set("safe", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchType"]; ok {
+		params.Set("searchType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteSearch"]; ok {
+		params.Set("siteSearch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteSearchFilter"]; ok {
+		params.Set("siteSearchFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start"]; ok {
+		params.Set("start", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dataflow/v1b3/dataflow-gen.go b/dataflow/v1b3/dataflow-gen.go
index 6266317..566a205 100644
--- a/dataflow/v1b3/dataflow-gen.go
+++ b/dataflow/v1b3/dataflow-gen.go
@@ -2744,16 +2744,16 @@
 // method id "dataflow.projects.jobs.create":
 
 type ProjectsJobsCreateCall struct {
-	s          *Service
-	projectId  string
-	job        *Job
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	job       *Job
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Create: Creates a dataflow job.
 func (r *ProjectsJobsService) Create(projectId string, job *Job) *ProjectsJobsCreateCall {
-	c := &ProjectsJobsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.job = job
 	return c
@@ -2762,7 +2762,7 @@
 // ReplaceJobId sets the optional parameter "replaceJobId": DEPRECATED.
 // This field is now on the Job message.
 func (c *ProjectsJobsCreateCall) ReplaceJobId(replaceJobId string) *ProjectsJobsCreateCall {
-	c.urlParams_.Set("replaceJobId", replaceJobId)
+	c.opt_["replaceJobId"] = replaceJobId
 	return c
 }
 
@@ -2774,21 +2774,21 @@
 //   "JOB_VIEW_SUMMARY"
 //   "JOB_VIEW_ALL"
 func (c *ProjectsJobsCreateCall) View(view string) *ProjectsJobsCreateCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsJobsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsCreateCall) Context(ctx context.Context) *ProjectsJobsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2801,9 +2801,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["replaceJobId"]; ok {
+		params.Set("replaceJobId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2899,17 +2909,16 @@
 // method id "dataflow.projects.jobs.get":
 
 type ProjectsJobsGetCall struct {
-	s            *Service
-	projectId    string
-	jobId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets the state of the specified dataflow job.
 func (r *ProjectsJobsService) Get(projectId string, jobId string) *ProjectsJobsGetCall {
-	c := &ProjectsJobsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	return c
@@ -2923,15 +2932,15 @@
 //   "JOB_VIEW_SUMMARY"
 //   "JOB_VIEW_ALL"
 func (c *ProjectsJobsGetCall) View(view string) *ProjectsJobsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsJobsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2941,13 +2950,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsJobsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsGetCall) Context(ctx context.Context) *ProjectsJobsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2955,17 +2964,24 @@
 
 func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"jobId":     c.jobId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3055,17 +3071,16 @@
 // method id "dataflow.projects.jobs.getMetrics":
 
 type ProjectsJobsGetMetricsCall struct {
-	s            *Service
-	projectId    string
-	jobId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // GetMetrics: Request the job status.
 func (r *ProjectsJobsService) GetMetrics(projectId string, jobId string) *ProjectsJobsGetMetricsCall {
-	c := &ProjectsJobsGetMetricsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsGetMetricsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	return c
@@ -3075,15 +3090,15 @@
 // data that has changed since this time. Default is to return all
 // information about all metrics for the job.
 func (c *ProjectsJobsGetMetricsCall) StartTime(startTime string) *ProjectsJobsGetMetricsCall {
-	c.urlParams_.Set("startTime", startTime)
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsGetMetricsCall) Fields(s ...googleapi.Field) *ProjectsJobsGetMetricsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3093,13 +3108,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsJobsGetMetricsCall) IfNoneMatch(entityTag string) *ProjectsJobsGetMetricsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsGetMetricsCall) Context(ctx context.Context) *ProjectsJobsGetMetricsCall {
 	c.ctx_ = ctx
 	return c
@@ -3107,17 +3122,24 @@
 
 func (c *ProjectsJobsGetMetricsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs/{jobId}/metrics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"jobId":     c.jobId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3202,16 +3224,15 @@
 // method id "dataflow.projects.jobs.list":
 
 type ProjectsJobsListCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List the jobs of a project
 func (r *ProjectsJobsService) List(projectId string) *ProjectsJobsListCall {
-	c := &ProjectsJobsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
@@ -3221,7 +3242,7 @@
 // returned will be the lesser of max_responses and an unspecified
 // server-defined limit.
 func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -3229,7 +3250,7 @@
 // 'next_page_token' field of a previous response to request additional
 // results in a long list.
 func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3241,15 +3262,15 @@
 //   "JOB_VIEW_SUMMARY"
 //   "JOB_VIEW_ALL"
 func (c *ProjectsJobsListCall) View(view string) *ProjectsJobsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsListCall) Fields(s ...googleapi.Field) *ProjectsJobsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3259,13 +3280,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsJobsListCall) IfNoneMatch(entityTag string) *ProjectsJobsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsListCall) Context(ctx context.Context) *ProjectsJobsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3273,16 +3294,29 @@
 
 func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3376,34 +3410,34 @@
 // method id "dataflow.projects.jobs.update":
 
 type ProjectsJobsUpdateCall struct {
-	s          *Service
-	projectId  string
-	jobId      string
-	job        *Job
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	job       *Job
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates the state of an existing dataflow job.
 func (r *ProjectsJobsService) Update(projectId string, jobId string, job *Job) *ProjectsJobsUpdateCall {
-	c := &ProjectsJobsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	c.job = job
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsUpdateCall) Fields(s ...googleapi.Field) *ProjectsJobsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsUpdateCall) Context(ctx context.Context) *ProjectsJobsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3416,9 +3450,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -3507,17 +3545,16 @@
 // method id "dataflow.projects.jobs.messages.list":
 
 type ProjectsJobsMessagesListCall struct {
-	s            *Service
-	projectId    string
-	jobId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	jobId     string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Request the job status.
 func (r *ProjectsJobsMessagesService) List(projectId string, jobId string) *ProjectsJobsMessagesListCall {
-	c := &ProjectsJobsMessagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsMessagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	return c
@@ -3527,7 +3564,7 @@
 // with timestamps < end_time. The default is now (i.e. return up to the
 // latest messages available).
 func (c *ProjectsJobsMessagesListCall) EndTime(endTime string) *ProjectsJobsMessagesListCall {
-	c.urlParams_.Set("endTime", endTime)
+	c.opt_["endTime"] = endTime
 	return c
 }
 
@@ -3542,7 +3579,7 @@
 //   "JOB_MESSAGE_WARNING"
 //   "JOB_MESSAGE_ERROR"
 func (c *ProjectsJobsMessagesListCall) MinimumImportance(minimumImportance string) *ProjectsJobsMessagesListCall {
-	c.urlParams_.Set("minimumImportance", minimumImportance)
+	c.opt_["minimumImportance"] = minimumImportance
 	return c
 }
 
@@ -3551,7 +3588,7 @@
 // the service may choose an appropriate default, or may return an
 // arbitrarily large number of results.
 func (c *ProjectsJobsMessagesListCall) PageSize(pageSize int64) *ProjectsJobsMessagesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -3559,7 +3596,7 @@
 // should be the value of next_page_token returned by an earlier call.
 // This will cause the next page of results to be returned.
 func (c *ProjectsJobsMessagesListCall) PageToken(pageToken string) *ProjectsJobsMessagesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3567,15 +3604,15 @@
 // return only messages with timestamps >= start_time. The default is
 // the job creation time (i.e. beginning of messages).
 func (c *ProjectsJobsMessagesListCall) StartTime(startTime string) *ProjectsJobsMessagesListCall {
-	c.urlParams_.Set("startTime", startTime)
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsMessagesListCall) Fields(s ...googleapi.Field) *ProjectsJobsMessagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3585,13 +3622,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsJobsMessagesListCall) IfNoneMatch(entityTag string) *ProjectsJobsMessagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsMessagesListCall) Context(ctx context.Context) *ProjectsJobsMessagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3599,17 +3636,36 @@
 
 func (c *ProjectsJobsMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endTime"]; ok {
+		params.Set("endTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minimumImportance"]; ok {
+		params.Set("minimumImportance", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs/{jobId}/messages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"jobId":     c.jobId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3727,30 +3783,30 @@
 	projectId            string
 	jobId                string
 	leaseworkitemrequest *LeaseWorkItemRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Lease: Leases a dataflow WorkItem to run.
 func (r *ProjectsJobsWorkItemsService) Lease(projectId string, jobId string, leaseworkitemrequest *LeaseWorkItemRequest) *ProjectsJobsWorkItemsLeaseCall {
-	c := &ProjectsJobsWorkItemsLeaseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsWorkItemsLeaseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	c.leaseworkitemrequest = leaseworkitemrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsWorkItemsLeaseCall) Fields(s ...googleapi.Field) *ProjectsJobsWorkItemsLeaseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsWorkItemsLeaseCall) Context(ctx context.Context) *ProjectsJobsWorkItemsLeaseCall {
 	c.ctx_ = ctx
 	return c
@@ -3763,9 +3819,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -3858,31 +3918,31 @@
 	projectId                   string
 	jobId                       string
 	reportworkitemstatusrequest *ReportWorkItemStatusRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // ReportStatus: Reports the status of dataflow WorkItems leased by a
 // worker.
 func (r *ProjectsJobsWorkItemsService) ReportStatus(projectId string, jobId string, reportworkitemstatusrequest *ReportWorkItemStatusRequest) *ProjectsJobsWorkItemsReportStatusCall {
-	c := &ProjectsJobsWorkItemsReportStatusCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsJobsWorkItemsReportStatusCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.jobId = jobId
 	c.reportworkitemstatusrequest = reportworkitemstatusrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsJobsWorkItemsReportStatusCall) Fields(s ...googleapi.Field) *ProjectsJobsWorkItemsReportStatusCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsJobsWorkItemsReportStatusCall) Context(ctx context.Context) *ProjectsJobsWorkItemsReportStatusCall {
 	c.ctx_ = ctx
 	return c
@@ -3895,9 +3955,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
diff --git a/datastore/v1beta1/datastore-gen.go b/datastore/v1beta1/datastore-gen.go
index f90168c..cbcb2e1 100644
--- a/datastore/v1beta1/datastore-gen.go
+++ b/datastore/v1beta1/datastore-gen.go
@@ -1108,30 +1108,30 @@
 	s                  *Service
 	datasetId          string
 	allocateidsrequest *AllocateIdsRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // AllocateIds: Allocate IDs for incomplete keys (useful for referencing
 // an entity before it is inserted).
 func (r *DatasetsService) AllocateIds(datasetId string, allocateidsrequest *AllocateIdsRequest) *DatasetsAllocateIdsCall {
-	c := &DatasetsAllocateIdsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsAllocateIdsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.allocateidsrequest = allocateidsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsAllocateIdsCall) Fields(s ...googleapi.Field) *DatasetsAllocateIdsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsAllocateIdsCall) Context(ctx context.Context) *DatasetsAllocateIdsCall {
 	c.ctx_ = ctx
 	return c
@@ -1144,9 +1144,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/allocateIds")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1231,29 +1235,29 @@
 	s                       *Service
 	datasetId               string
 	begintransactionrequest *BeginTransactionRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // BeginTransaction: Begin a new transaction.
 func (r *DatasetsService) BeginTransaction(datasetId string, begintransactionrequest *BeginTransactionRequest) *DatasetsBeginTransactionCall {
-	c := &DatasetsBeginTransactionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsBeginTransactionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.begintransactionrequest = begintransactionrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsBeginTransactionCall) Fields(s ...googleapi.Field) *DatasetsBeginTransactionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsBeginTransactionCall) Context(ctx context.Context) *DatasetsBeginTransactionCall {
 	c.ctx_ = ctx
 	return c
@@ -1266,9 +1270,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/beginTransaction")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1353,30 +1361,30 @@
 	s                 *Service
 	datasetId         string
 	blindwriterequest *BlindWriteRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // BlindWrite: Create, delete or modify some entities outside a
 // transaction.
 func (r *DatasetsService) BlindWrite(datasetId string, blindwriterequest *BlindWriteRequest) *DatasetsBlindWriteCall {
-	c := &DatasetsBlindWriteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsBlindWriteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.blindwriterequest = blindwriterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsBlindWriteCall) Fields(s ...googleapi.Field) *DatasetsBlindWriteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsBlindWriteCall) Context(ctx context.Context) *DatasetsBlindWriteCall {
 	c.ctx_ = ctx
 	return c
@@ -1389,9 +1397,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/blindWrite")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1476,30 +1488,30 @@
 	s             *Service
 	datasetId     string
 	commitrequest *CommitRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Commit: Commit a transaction, optionally creating, deleting or
 // modifying some entities.
 func (r *DatasetsService) Commit(datasetId string, commitrequest *CommitRequest) *DatasetsCommitCall {
-	c := &DatasetsCommitCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsCommitCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.commitrequest = commitrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsCommitCall) Fields(s ...googleapi.Field) *DatasetsCommitCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsCommitCall) Context(ctx context.Context) *DatasetsCommitCall {
 	c.ctx_ = ctx
 	return c
@@ -1512,9 +1524,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/commit")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1599,29 +1615,29 @@
 	s             *Service
 	datasetId     string
 	lookuprequest *LookupRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Lookup: Look up some entities by key.
 func (r *DatasetsService) Lookup(datasetId string, lookuprequest *LookupRequest) *DatasetsLookupCall {
-	c := &DatasetsLookupCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsLookupCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.lookuprequest = lookuprequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsLookupCall) Fields(s ...googleapi.Field) *DatasetsLookupCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsLookupCall) Context(ctx context.Context) *DatasetsLookupCall {
 	c.ctx_ = ctx
 	return c
@@ -1634,9 +1650,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/lookup")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1721,29 +1741,29 @@
 	s               *Service
 	datasetId       string
 	rollbackrequest *RollbackRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Rollback: Roll back a transaction.
 func (r *DatasetsService) Rollback(datasetId string, rollbackrequest *RollbackRequest) *DatasetsRollbackCall {
-	c := &DatasetsRollbackCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsRollbackCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.rollbackrequest = rollbackrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsRollbackCall) Fields(s ...googleapi.Field) *DatasetsRollbackCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsRollbackCall) Context(ctx context.Context) *DatasetsRollbackCall {
 	c.ctx_ = ctx
 	return c
@@ -1756,9 +1776,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/rollback")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1843,29 +1867,29 @@
 	s               *Service
 	datasetId       string
 	runqueryrequest *RunQueryRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // RunQuery: Query for entities.
 func (r *DatasetsService) RunQuery(datasetId string, runqueryrequest *RunQueryRequest) *DatasetsRunQueryCall {
-	c := &DatasetsRunQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsRunQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.runqueryrequest = runqueryrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsRunQueryCall) Fields(s ...googleapi.Field) *DatasetsRunQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsRunQueryCall) Context(ctx context.Context) *DatasetsRunQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1878,9 +1902,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/runQuery")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
diff --git a/datastore/v1beta2/datastore-gen.go b/datastore/v1beta2/datastore-gen.go
index d4a1aa0..9c482c2 100644
--- a/datastore/v1beta2/datastore-gen.go
+++ b/datastore/v1beta2/datastore-gen.go
@@ -1148,30 +1148,30 @@
 	s                  *Service
 	datasetId          string
 	allocateidsrequest *AllocateIdsRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // AllocateIds: Allocate IDs for incomplete keys (useful for referencing
 // an entity before it is inserted).
 func (r *DatasetsService) AllocateIds(datasetId string, allocateidsrequest *AllocateIdsRequest) *DatasetsAllocateIdsCall {
-	c := &DatasetsAllocateIdsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsAllocateIdsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.allocateidsrequest = allocateidsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsAllocateIdsCall) Fields(s ...googleapi.Field) *DatasetsAllocateIdsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsAllocateIdsCall) Context(ctx context.Context) *DatasetsAllocateIdsCall {
 	c.ctx_ = ctx
 	return c
@@ -1184,9 +1184,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/allocateIds")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1271,29 +1275,29 @@
 	s                       *Service
 	datasetId               string
 	begintransactionrequest *BeginTransactionRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // BeginTransaction: Begin a new transaction.
 func (r *DatasetsService) BeginTransaction(datasetId string, begintransactionrequest *BeginTransactionRequest) *DatasetsBeginTransactionCall {
-	c := &DatasetsBeginTransactionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsBeginTransactionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.begintransactionrequest = begintransactionrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsBeginTransactionCall) Fields(s ...googleapi.Field) *DatasetsBeginTransactionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsBeginTransactionCall) Context(ctx context.Context) *DatasetsBeginTransactionCall {
 	c.ctx_ = ctx
 	return c
@@ -1306,9 +1310,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/beginTransaction")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1393,30 +1401,30 @@
 	s             *Service
 	datasetId     string
 	commitrequest *CommitRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Commit: Commit a transaction, optionally creating, deleting or
 // modifying some entities.
 func (r *DatasetsService) Commit(datasetId string, commitrequest *CommitRequest) *DatasetsCommitCall {
-	c := &DatasetsCommitCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsCommitCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.commitrequest = commitrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsCommitCall) Fields(s ...googleapi.Field) *DatasetsCommitCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsCommitCall) Context(ctx context.Context) *DatasetsCommitCall {
 	c.ctx_ = ctx
 	return c
@@ -1429,9 +1437,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/commit")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1516,29 +1528,29 @@
 	s             *Service
 	datasetId     string
 	lookuprequest *LookupRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Lookup: Look up some entities by key.
 func (r *DatasetsService) Lookup(datasetId string, lookuprequest *LookupRequest) *DatasetsLookupCall {
-	c := &DatasetsLookupCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsLookupCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.lookuprequest = lookuprequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsLookupCall) Fields(s ...googleapi.Field) *DatasetsLookupCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsLookupCall) Context(ctx context.Context) *DatasetsLookupCall {
 	c.ctx_ = ctx
 	return c
@@ -1551,9 +1563,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/lookup")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1638,29 +1654,29 @@
 	s               *Service
 	datasetId       string
 	rollbackrequest *RollbackRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Rollback: Roll back a transaction.
 func (r *DatasetsService) Rollback(datasetId string, rollbackrequest *RollbackRequest) *DatasetsRollbackCall {
-	c := &DatasetsRollbackCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsRollbackCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.rollbackrequest = rollbackrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsRollbackCall) Fields(s ...googleapi.Field) *DatasetsRollbackCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsRollbackCall) Context(ctx context.Context) *DatasetsRollbackCall {
 	c.ctx_ = ctx
 	return c
@@ -1673,9 +1689,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/rollback")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -1760,29 +1780,29 @@
 	s               *Service
 	datasetId       string
 	runqueryrequest *RunQueryRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // RunQuery: Query for entities.
 func (r *DatasetsService) RunQuery(datasetId string, runqueryrequest *RunQueryRequest) *DatasetsRunQueryCall {
-	c := &DatasetsRunQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsRunQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.runqueryrequest = runqueryrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsRunQueryCall) Fields(s ...googleapi.Field) *DatasetsRunQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsRunQueryCall) Context(ctx context.Context) *DatasetsRunQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1795,9 +1815,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{datasetId}/runQuery")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
diff --git a/deploymentmanager/v2/deploymentmanager-gen.go b/deploymentmanager/v2/deploymentmanager-gen.go
index 2b490af..ce89fc3 100644
--- a/deploymentmanager/v2/deploymentmanager-gen.go
+++ b/deploymentmanager/v2/deploymentmanager-gen.go
@@ -1047,31 +1047,31 @@
 	project                         string
 	deployment                      string
 	deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest
-	urlParams_                      internal.URLParams
+	opt_                            map[string]interface{}
 	ctx_                            context.Context
 }
 
 // CancelPreview: Cancels and removes the preview currently associated
 // with the deployment.
 func (r *DeploymentsService) CancelPreview(project string, deployment string, deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest) *DeploymentsCancelPreviewCall {
-	c := &DeploymentsCancelPreviewCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsCancelPreviewCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.deploymentscancelpreviewrequest = deploymentscancelpreviewrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsCancelPreviewCall) Fields(s ...googleapi.Field) *DeploymentsCancelPreviewCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsCancelPreviewCall) Context(ctx context.Context) *DeploymentsCancelPreviewCall {
 	c.ctx_ = ctx
 	return c
@@ -1084,9 +1084,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/cancelPreview")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1180,30 +1184,30 @@
 	s          *Service
 	project    string
 	deployment string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a deployment and all of the resources in the
 // deployment.
 func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
-	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1211,9 +1215,13 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1300,27 +1308,26 @@
 // method id "deploymentmanager.deployments.get":
 
 type DeploymentsGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets information about a specific deployment.
 func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
-	c := &DeploymentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1330,13 +1337,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1344,17 +1351,21 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1441,14 +1452,14 @@
 	s          *Service
 	project    string
 	deployment *Deployment
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates a deployment and all of the resources described by
 // the deployment manifest.
 func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
-	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -1464,21 +1475,21 @@
 // cancel the preview and you must separately delete this deployment if
 // you want to remove it.
 func (c *DeploymentsInsertCall) Preview(preview bool) *DeploymentsInsertCall {
-	c.urlParams_.Set("preview", fmt.Sprintf("%v", preview))
+	c.opt_["preview"] = preview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1491,9 +1502,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["preview"]; ok {
+		params.Set("preview", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1580,16 +1598,15 @@
 // method id "deploymentmanager.deployments.list":
 
 type DeploymentsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all deployments for a given project.
 func (r *DeploymentsService) List(project string) *DeploymentsListCall {
-	c := &DeploymentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1610,14 +1627,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DeploymentsListCall) Filter(filter string) *DeploymentsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1626,15 +1643,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1644,13 +1661,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1658,16 +1675,29 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1766,14 +1796,14 @@
 	project     string
 	deployment  string
 	deployment2 *Deployment
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Updates a deployment and all of the resources described by the
 // deployment manifest. This method supports patch semantics.
 func (r *DeploymentsService) Patch(project string, deployment string, deployment2 *Deployment) *DeploymentsPatchCall {
-	c := &DeploymentsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.deployment2 = deployment2
@@ -1787,7 +1817,7 @@
 //   "ACQUIRE"
 //   "CREATE_OR_ACQUIRE" (default)
 func (c *DeploymentsPatchCall) CreatePolicy(createPolicy string) *DeploymentsPatchCall {
-	c.urlParams_.Set("createPolicy", createPolicy)
+	c.opt_["createPolicy"] = createPolicy
 	return c
 }
 
@@ -1798,7 +1828,7 @@
 //   "ABANDON"
 //   "DELETE" (default)
 func (c *DeploymentsPatchCall) DeletePolicy(deletePolicy string) *DeploymentsPatchCall {
-	c.urlParams_.Set("deletePolicy", deletePolicy)
+	c.opt_["deletePolicy"] = deletePolicy
 	return c
 }
 
@@ -1814,21 +1844,21 @@
 // exist after you cancel the preview and you must separately delete
 // this deployment if you want to remove it.
 func (c *DeploymentsPatchCall) Preview(preview bool) *DeploymentsPatchCall {
-	c.urlParams_.Set("preview", fmt.Sprintf("%v", preview))
+	c.opt_["preview"] = preview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsPatchCall) Fields(s ...googleapi.Field) *DeploymentsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsPatchCall) Context(ctx context.Context) *DeploymentsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1841,9 +1871,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["createPolicy"]; ok {
+		params.Set("createPolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["deletePolicy"]; ok {
+		params.Set("deletePolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["preview"]; ok {
+		params.Set("preview", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1972,7 +2015,7 @@
 	project                string
 	deployment             string
 	deploymentsstoprequest *DeploymentsStopRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -1980,24 +2023,24 @@
 // that has already been completed, but prevents any new work from being
 // started.
 func (r *DeploymentsService) Stop(project string, deployment string, deploymentsstoprequest *DeploymentsStopRequest) *DeploymentsStopCall {
-	c := &DeploymentsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.deploymentsstoprequest = deploymentsstoprequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsStopCall) Fields(s ...googleapi.Field) *DeploymentsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsStopCall) Context(ctx context.Context) *DeploymentsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -2010,9 +2053,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -2107,14 +2154,14 @@
 	project     string
 	deployment  string
 	deployment2 *Deployment
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a deployment and all of the resources described by
 // the deployment manifest.
 func (r *DeploymentsService) Update(project string, deployment string, deployment2 *Deployment) *DeploymentsUpdateCall {
-	c := &DeploymentsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.deployment2 = deployment2
@@ -2128,7 +2175,7 @@
 //   "ACQUIRE"
 //   "CREATE_OR_ACQUIRE" (default)
 func (c *DeploymentsUpdateCall) CreatePolicy(createPolicy string) *DeploymentsUpdateCall {
-	c.urlParams_.Set("createPolicy", createPolicy)
+	c.opt_["createPolicy"] = createPolicy
 	return c
 }
 
@@ -2139,7 +2186,7 @@
 //   "ABANDON"
 //   "DELETE" (default)
 func (c *DeploymentsUpdateCall) DeletePolicy(deletePolicy string) *DeploymentsUpdateCall {
-	c.urlParams_.Set("deletePolicy", deletePolicy)
+	c.opt_["deletePolicy"] = deletePolicy
 	return c
 }
 
@@ -2155,21 +2202,21 @@
 // exist after you cancel the preview and you must separately delete
 // this deployment if you want to remove it.
 func (c *DeploymentsUpdateCall) Preview(preview bool) *DeploymentsUpdateCall {
-	c.urlParams_.Set("preview", fmt.Sprintf("%v", preview))
+	c.opt_["preview"] = preview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsUpdateCall) Fields(s ...googleapi.Field) *DeploymentsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsUpdateCall) Context(ctx context.Context) *DeploymentsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2182,9 +2229,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["createPolicy"]; ok {
+		params.Set("createPolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["deletePolicy"]; ok {
+		params.Set("deletePolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["preview"]; ok {
+		params.Set("preview", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -2309,29 +2369,28 @@
 // method id "deploymentmanager.manifests.get":
 
 type ManifestsGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	manifest     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	manifest   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets information about a specific manifest.
 func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
-	c := &ManifestsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManifestsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.manifest = manifest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2341,13 +2400,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2355,9 +2414,13 @@
 
 func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests/{manifest}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -2365,8 +2428,8 @@
 		"manifest":   c.manifest,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2458,17 +2521,16 @@
 // method id "deploymentmanager.manifests.list":
 
 type ManifestsListCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists all manifests for a given deployment.
 func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
-	c := &ManifestsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManifestsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -2490,14 +2552,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ManifestsListCall) Filter(filter string) *ManifestsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2506,15 +2568,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2524,13 +2586,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2538,17 +2600,30 @@
 
 func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2651,27 +2726,26 @@
 // method id "deploymentmanager.operations.get":
 
 type OperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets information about a specific operation.
 func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
-	c := &OperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2681,13 +2755,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2695,17 +2769,21 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2788,16 +2866,15 @@
 // method id "deploymentmanager.operations.list":
 
 type OperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all operations for a project.
 func (r *OperationsService) List(project string) *OperationsListCall {
-	c := &OperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2818,14 +2895,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2834,15 +2911,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2852,13 +2929,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2866,16 +2943,29 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2970,29 +3060,28 @@
 // method id "deploymentmanager.resources.get":
 
 type ResourcesGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	resource   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets information about a single resource.
 func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
-	c := &ResourcesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourcesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3002,13 +3091,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3016,9 +3105,13 @@
 
 func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources/{resource}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -3026,8 +3119,8 @@
 		"resource":   c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3118,17 +3211,16 @@
 // method id "deploymentmanager.resources.list":
 
 type ResourcesListCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists all resources in a given deployment.
 func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
-	c := &ResourcesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourcesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -3150,14 +3242,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ResourcesListCall) Filter(filter string) *ResourcesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3166,15 +3258,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3184,13 +3276,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3198,17 +3290,30 @@
 
 func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3311,16 +3416,15 @@
 // method id "deploymentmanager.types.list":
 
 type TypesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all resource types for Deployment Manager.
 func (r *TypesService) List(project string) *TypesListCall {
-	c := &TypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -3341,14 +3445,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TypesListCall) Filter(filter string) *TypesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3357,15 +3461,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3375,13 +3479,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3389,16 +3493,29 @@
 
 func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/types")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/deploymentmanager/v2beta1/deploymentmanager-gen.go b/deploymentmanager/v2beta1/deploymentmanager-gen.go
index db27eb0..67fa602 100644
--- a/deploymentmanager/v2beta1/deploymentmanager-gen.go
+++ b/deploymentmanager/v2beta1/deploymentmanager-gen.go
@@ -630,30 +630,30 @@
 	s          *Service
 	project    string
 	deployment string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: ! Deletes a deployment and all of the resources in the
 // deployment.
 func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
-	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -661,9 +661,13 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -750,27 +754,26 @@
 // method id "deploymentmanager.deployments.get":
 
 type DeploymentsGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: ! Gets information about a specific deployment.
 func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
-	c := &DeploymentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -780,13 +783,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -794,17 +797,21 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -891,30 +898,30 @@
 	s          *Service
 	project    string
 	deployment *Deployment
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: ! Creates a deployment and all of the resources described by
 // the ! deployment manifest.
 func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
-	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -927,9 +934,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1011,16 +1022,15 @@
 // method id "deploymentmanager.deployments.list":
 
 type DeploymentsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: ! Lists all deployments for a given project.
 func (r *DeploymentsService) List(project string) *DeploymentsListCall {
-	c := &DeploymentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1029,7 +1039,7 @@
 // of results to be returned. ! Acceptable values are 0 to 100,
 // inclusive. (Default: 50)
 func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1038,15 +1048,15 @@
 // be used to request the next page of results from a previous ! list
 // request.
 func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1056,13 +1066,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1070,16 +1080,26 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1169,29 +1189,28 @@
 // method id "deploymentmanager.manifests.get":
 
 type ManifestsGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	manifest     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	manifest   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: ! Gets information about a specific manifest.
 func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
-	c := &ManifestsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManifestsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.manifest = manifest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1201,13 +1220,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1215,9 +1234,13 @@
 
 func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests/{manifest}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1225,8 +1248,8 @@
 		"manifest":   c.manifest,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1318,17 +1341,16 @@
 // method id "deploymentmanager.manifests.list":
 
 type ManifestsListCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: ! Lists all manifests for a given deployment.
 func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
-	c := &ManifestsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManifestsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -1338,7 +1360,7 @@
 // of results to be returned. ! Acceptable values are 0 to 100,
 // inclusive. (Default: 50)
 func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1347,15 +1369,15 @@
 // be used to request the next page of results from a previous ! list
 // request.
 func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1365,13 +1387,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1379,17 +1401,27 @@
 
 func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1487,27 +1519,26 @@
 // method id "deploymentmanager.operations.get":
 
 type OperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: ! Gets information about a specific Operation.
 func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
-	c := &OperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1517,13 +1548,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1531,17 +1562,21 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1624,16 +1659,15 @@
 // method id "deploymentmanager.operations.list":
 
 type OperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: ! Lists all Operations for a project.
 func (r *OperationsService) List(project string) *OperationsListCall {
-	c := &OperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1642,7 +1676,7 @@
 // of results to be returned. ! Acceptable values are 0 to 100,
 // inclusive. (Default: 50)
 func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1651,15 +1685,15 @@
 // be used to request the next page of results from a previous ! list
 // request.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1669,13 +1703,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1683,16 +1717,26 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1782,29 +1826,28 @@
 // method id "deploymentmanager.resources.get":
 
 type ResourcesGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	resource   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: ! Gets information about a single resource.
 func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
-	c := &ResourcesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourcesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1814,13 +1857,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1828,9 +1871,13 @@
 
 func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources/{resource}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1838,8 +1885,8 @@
 		"resource":   c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1931,17 +1978,16 @@
 // method id "deploymentmanager.resources.list":
 
 type ResourcesListCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: ! Lists all resources in a given deployment.
 func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
-	c := &ResourcesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourcesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -1951,7 +1997,7 @@
 // of results to be returned. ! Acceptable values are 0 to 100,
 // inclusive. (Default: 50)
 func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1960,15 +2006,15 @@
 // be used to request the next page of results from a previous ! list
 // request.
 func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1978,13 +2024,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1992,17 +2038,27 @@
 
 func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2100,16 +2156,15 @@
 // method id "deploymentmanager.types.list":
 
 type TypesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: ! Lists all Types for Deployment Manager.
 func (r *TypesService) List(project string) *TypesListCall {
-	c := &TypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2118,7 +2173,7 @@
 // of results to be returned. ! Acceptable values are 0 to 100,
 // inclusive. (Default: 50)
 func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2127,15 +2182,15 @@
 // be used to request the next page of results from a previous ! list
 // request.
 func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2145,13 +2200,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2159,16 +2214,26 @@
 
 func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/types")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/deploymentmanager/v2beta2/deploymentmanager-gen.go b/deploymentmanager/v2beta2/deploymentmanager-gen.go
index 3e784c7..dd5f186 100644
--- a/deploymentmanager/v2beta2/deploymentmanager-gen.go
+++ b/deploymentmanager/v2beta2/deploymentmanager-gen.go
@@ -848,30 +848,30 @@
 	s          *Service
 	project    string
 	deployment string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a deployment and all of the resources in the
 // deployment.
 func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
-	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -879,9 +879,13 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -968,27 +972,26 @@
 // method id "deploymentmanager.deployments.get":
 
 type DeploymentsGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets information about a specific deployment.
 func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
-	c := &DeploymentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -998,13 +1001,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1012,17 +1015,21 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1109,30 +1116,30 @@
 	s          *Service
 	project    string
 	deployment *Deployment
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates a deployment and all of the resources described by
 // the deployment manifest.
 func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
-	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1145,9 +1152,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1229,16 +1240,15 @@
 // method id "deploymentmanager.deployments.list":
 
 type DeploymentsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all deployments for a given project.
 func (r *DeploymentsService) List(project string) *DeploymentsListCall {
-	c := &DeploymentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1259,14 +1269,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *DeploymentsListCall) Filter(filter string) *DeploymentsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1275,15 +1285,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1293,13 +1303,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1307,16 +1317,29 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1415,14 +1438,14 @@
 	project     string
 	deployment  string
 	deployment2 *Deployment
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Updates a deployment and all of the resources described by the
 // deployment manifest. This method supports patch semantics.
 func (r *DeploymentsService) Patch(project string, deployment string, deployment2 *Deployment) *DeploymentsPatchCall {
-	c := &DeploymentsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.deployment2 = deployment2
@@ -1436,7 +1459,7 @@
 //   "ACQUIRE"
 //   "CREATE_OR_ACQUIRE" (default)
 func (c *DeploymentsPatchCall) CreatePolicy(createPolicy string) *DeploymentsPatchCall {
-	c.urlParams_.Set("createPolicy", createPolicy)
+	c.opt_["createPolicy"] = createPolicy
 	return c
 }
 
@@ -1447,7 +1470,7 @@
 //   "ABANDON"
 //   "DELETE" (default)
 func (c *DeploymentsPatchCall) DeletePolicy(deletePolicy string) *DeploymentsPatchCall {
-	c.urlParams_.Set("deletePolicy", deletePolicy)
+	c.opt_["deletePolicy"] = deletePolicy
 	return c
 }
 
@@ -1458,21 +1481,21 @@
 //   "PATCH" (default)
 //   "UPDATE"
 func (c *DeploymentsPatchCall) UpdatePolicy(updatePolicy string) *DeploymentsPatchCall {
-	c.urlParams_.Set("updatePolicy", updatePolicy)
+	c.opt_["updatePolicy"] = updatePolicy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsPatchCall) Fields(s ...googleapi.Field) *DeploymentsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsPatchCall) Context(ctx context.Context) *DeploymentsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1485,9 +1508,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["createPolicy"]; ok {
+		params.Set("createPolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["deletePolicy"]; ok {
+		params.Set("deletePolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatePolicy"]; ok {
+		params.Set("updatePolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1624,14 +1660,14 @@
 	project     string
 	deployment  string
 	deployment2 *Deployment
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a deployment and all of the resources described by
 // the deployment manifest.
 func (r *DeploymentsService) Update(project string, deployment string, deployment2 *Deployment) *DeploymentsUpdateCall {
-	c := &DeploymentsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.deployment2 = deployment2
@@ -1645,7 +1681,7 @@
 //   "ACQUIRE"
 //   "CREATE_OR_ACQUIRE" (default)
 func (c *DeploymentsUpdateCall) CreatePolicy(createPolicy string) *DeploymentsUpdateCall {
-	c.urlParams_.Set("createPolicy", createPolicy)
+	c.opt_["createPolicy"] = createPolicy
 	return c
 }
 
@@ -1656,7 +1692,7 @@
 //   "ABANDON"
 //   "DELETE" (default)
 func (c *DeploymentsUpdateCall) DeletePolicy(deletePolicy string) *DeploymentsUpdateCall {
-	c.urlParams_.Set("deletePolicy", deletePolicy)
+	c.opt_["deletePolicy"] = deletePolicy
 	return c
 }
 
@@ -1667,21 +1703,21 @@
 //   "PATCH" (default)
 //   "UPDATE"
 func (c *DeploymentsUpdateCall) UpdatePolicy(updatePolicy string) *DeploymentsUpdateCall {
-	c.urlParams_.Set("updatePolicy", updatePolicy)
+	c.opt_["updatePolicy"] = updatePolicy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsUpdateCall) Fields(s ...googleapi.Field) *DeploymentsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsUpdateCall) Context(ctx context.Context) *DeploymentsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1694,9 +1730,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["createPolicy"]; ok {
+		params.Set("createPolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["deletePolicy"]; ok {
+		params.Set("deletePolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatePolicy"]; ok {
+		params.Set("updatePolicy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1829,29 +1878,28 @@
 // method id "deploymentmanager.manifests.get":
 
 type ManifestsGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	manifest     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	manifest   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets information about a specific manifest.
 func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
-	c := &ManifestsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManifestsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.manifest = manifest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1861,13 +1909,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1875,9 +1923,13 @@
 
 func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests/{manifest}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -1885,8 +1937,8 @@
 		"manifest":   c.manifest,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1978,17 +2030,16 @@
 // method id "deploymentmanager.manifests.list":
 
 type ManifestsListCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists all manifests for a given deployment.
 func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
-	c := &ManifestsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManifestsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -2010,14 +2061,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ManifestsListCall) Filter(filter string) *ManifestsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2026,15 +2077,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2044,13 +2095,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2058,17 +2109,30 @@
 
 func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2171,27 +2235,26 @@
 // method id "deploymentmanager.operations.get":
 
 type OperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets information about a specific operation.
 func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
-	c := &OperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2201,13 +2264,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2215,17 +2278,21 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2308,16 +2375,15 @@
 // method id "deploymentmanager.operations.list":
 
 type OperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all operations for a project.
 func (r *OperationsService) List(project string) *OperationsListCall {
-	c := &OperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2338,14 +2404,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2354,15 +2420,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2372,13 +2438,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2386,16 +2452,29 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2490,29 +2569,28 @@
 // method id "deploymentmanager.resources.get":
 
 type ResourcesGetCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	resource   string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets information about a single resource.
 func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
-	c := &ResourcesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourcesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2522,13 +2600,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2536,9 +2614,13 @@
 
 func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources/{resource}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
@@ -2546,8 +2628,8 @@
 		"resource":   c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2638,17 +2720,16 @@
 // method id "deploymentmanager.resources.list":
 
 type ResourcesListCall struct {
-	s            *Service
-	project      string
-	deployment   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	project    string
+	deployment string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists all resources in a given deployment.
 func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
-	c := &ResourcesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourcesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.deployment = deployment
 	return c
@@ -2670,14 +2751,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *ResourcesListCall) Filter(filter string) *ResourcesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2686,15 +2767,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2704,13 +2785,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2718,17 +2799,30 @@
 
 func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":    c.project,
 		"deployment": c.deployment,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2831,16 +2925,15 @@
 // method id "deploymentmanager.types.list":
 
 type TypesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all resource types for Deployment Manager.
 func (r *TypesService) List(project string) *TypesListCall {
-	c := &TypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2861,14 +2954,14 @@
 //
 // For example, filter=name ne example-instance.
 func (c *TypesListCall) Filter(filter string) *TypesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum count of
 // results to be returned.
 func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2877,15 +2970,15 @@
 // results. Set pageToken to the nextPageToken returned by a previous
 // list request.
 func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2895,13 +2988,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2909,16 +3002,29 @@
 
 func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/types")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dfareporting/v1.1/dfareporting-gen.go b/dfareporting/v1.1/dfareporting-gen.go
index b716c4b..0239c1a 100644
--- a/dfareporting/v1.1/dfareporting-gen.go
+++ b/dfareporting/v1.1/dfareporting-gen.go
@@ -1219,14 +1219,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -1235,28 +1235,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1269,9 +1269,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1365,16 +1375,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -1382,14 +1391,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1400,7 +1409,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -1411,15 +1420,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1429,13 +1438,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1443,16 +1452,32 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1566,32 +1591,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its ID.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1599,9 +1624,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1660,27 +1689,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its ID.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1690,13 +1718,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1704,17 +1732,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1795,32 +1827,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1833,9 +1865,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1916,16 +1952,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -1933,14 +1968,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1952,7 +1987,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -1963,15 +1998,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1981,13 +2016,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1995,16 +2030,32 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2120,34 +2171,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2160,9 +2211,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2252,16 +2307,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -2270,21 +2325,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -2292,9 +2347,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2385,34 +2447,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2425,9 +2487,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2517,29 +2583,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2549,13 +2614,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2563,9 +2628,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2573,8 +2642,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2663,17 +2732,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -2682,14 +2750,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2700,7 +2768,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -2711,15 +2779,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2729,13 +2797,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2743,17 +2811,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2875,25 +2959,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by ID.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2903,13 +2986,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2917,16 +3000,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2999,23 +3086,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3025,13 +3111,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3039,14 +3125,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dfareporting/v1.2/dfareporting-gen.go b/dfareporting/v1.2/dfareporting-gen.go
index f9e2d67..51eeffc 100644
--- a/dfareporting/v1.2/dfareporting-gen.go
+++ b/dfareporting/v1.2/dfareporting-gen.go
@@ -1230,14 +1230,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -1246,28 +1246,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1280,9 +1280,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1376,27 +1386,26 @@
 // method id "dfareporting.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	reportId int64
+	fileId   int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a report file by its report ID and file ID.
 func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1406,13 +1415,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1420,17 +1429,21 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId": strconv.FormatInt(c.reportId, 10),
 		"fileId":   strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1527,16 +1540,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -1544,14 +1556,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1563,7 +1575,7 @@
 //   "MINE" (default) - My files.
 //   "SHARED_WITH_ME" - Files shared with me.
 func (c *FilesListCall) Scope(scope string) *FilesListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -1574,7 +1586,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -1585,15 +1597,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1603,13 +1615,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1617,16 +1629,35 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1756,32 +1787,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its ID.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1789,9 +1820,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1850,27 +1885,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its ID.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1880,13 +1914,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1894,17 +1928,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1985,32 +2023,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2023,9 +2061,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2106,16 +2148,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -2123,14 +2164,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2141,7 +2182,7 @@
 //   "ALL" - All reports in account.
 //   "MINE" (default) - My reports.
 func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -2153,7 +2194,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -2164,15 +2205,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2182,13 +2223,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2196,16 +2237,35 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2335,34 +2395,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2375,9 +2435,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2467,16 +2531,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -2485,21 +2549,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -2507,9 +2571,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2600,34 +2671,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2640,9 +2711,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2732,29 +2807,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2764,13 +2838,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2778,9 +2852,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2788,8 +2866,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2894,17 +2972,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -2913,14 +2990,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2931,7 +3008,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -2942,15 +3019,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2960,13 +3037,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2974,17 +3051,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3106,25 +3199,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by ID.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3134,13 +3226,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3148,16 +3240,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3230,23 +3326,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3256,13 +3351,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3270,14 +3365,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dfareporting/v1.3/dfareporting-gen.go b/dfareporting/v1.3/dfareporting-gen.go
index b3495dd..3bfbb58 100644
--- a/dfareporting/v1.3/dfareporting-gen.go
+++ b/dfareporting/v1.3/dfareporting-gen.go
@@ -1541,14 +1541,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -1557,28 +1557,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1591,9 +1591,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1687,27 +1697,26 @@
 // method id "dfareporting.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	reportId int64
+	fileId   int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a report file by its report ID and file ID.
 func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1717,13 +1726,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1731,17 +1740,21 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId": strconv.FormatInt(c.reportId, 10),
 		"fileId":   strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1838,16 +1851,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -1855,14 +1867,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1874,7 +1886,7 @@
 //   "MINE" (default) - My files.
 //   "SHARED_WITH_ME" - Files shared with me.
 func (c *FilesListCall) Scope(scope string) *FilesListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -1885,7 +1897,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -1896,15 +1908,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1914,13 +1926,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1928,16 +1940,35 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2067,32 +2098,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its ID.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2100,9 +2131,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2161,27 +2196,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its ID.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2191,13 +2225,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2205,17 +2239,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2296,32 +2334,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2334,9 +2372,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2417,16 +2459,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -2434,14 +2475,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2452,7 +2493,7 @@
 //   "ALL" - All reports in account.
 //   "MINE" (default) - My reports.
 func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -2464,7 +2505,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -2475,15 +2516,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2493,13 +2534,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2507,16 +2548,35 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2646,34 +2706,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2686,9 +2746,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2778,16 +2842,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -2796,21 +2860,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -2818,9 +2882,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2911,34 +2982,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2951,9 +3022,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -3043,34 +3118,34 @@
 // method id "dfareporting.reports.compatibleFields.query":
 
 type ReportsCompatibleFieldsQueryCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Query: Returns the fields that are compatible to be selected in the
 // respective sections of a report criteria, given the fields already
 // selected in the input report and user permissions.
 func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
-	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsCompatibleFieldsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -3083,9 +3158,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -3166,29 +3245,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3198,13 +3276,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3212,9 +3290,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -3222,8 +3304,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3328,17 +3410,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -3347,14 +3428,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3365,7 +3446,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -3376,15 +3457,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3394,13 +3475,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3408,17 +3489,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3540,25 +3637,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by ID.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3568,13 +3664,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3582,16 +3678,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3664,23 +3764,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3690,13 +3789,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3704,14 +3803,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dfareporting/v1/dfareporting-gen.go b/dfareporting/v1/dfareporting-gen.go
index 35f412d..c5f4afb 100644
--- a/dfareporting/v1/dfareporting-gen.go
+++ b/dfareporting/v1/dfareporting-gen.go
@@ -828,14 +828,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -844,28 +844,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -878,9 +878,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -974,16 +984,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -991,14 +1000,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1009,7 +1018,7 @@
 //   "ID" - Sort by file id.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -1020,15 +1029,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1038,13 +1047,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1052,16 +1061,32 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1175,32 +1200,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its id.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1208,9 +1233,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1269,27 +1298,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its id.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1299,13 +1327,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1313,17 +1341,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1404,32 +1436,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1442,9 +1474,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1525,16 +1561,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -1542,14 +1577,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1561,7 +1596,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by display name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -1572,15 +1607,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1590,13 +1625,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1604,16 +1639,32 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1729,34 +1780,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1769,9 +1820,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1861,16 +1916,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -1879,21 +1934,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -1901,9 +1956,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -1994,34 +2056,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2034,9 +2096,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2126,29 +2192,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2158,13 +2223,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2172,9 +2237,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -2182,8 +2251,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2272,17 +2341,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -2291,14 +2359,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2309,7 +2377,7 @@
 //   "ID" - Sort by file id.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -2320,15 +2388,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2338,13 +2406,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2352,17 +2420,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2484,25 +2568,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by id.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2512,13 +2595,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2526,16 +2609,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2608,23 +2695,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2634,13 +2720,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2648,14 +2734,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dfareporting/v2.0/dfareporting-gen.go b/dfareporting/v2.0/dfareporting-gen.go
index 030f1e8..e4d9104 100644
--- a/dfareporting/v2.0/dfareporting-gen.go
+++ b/dfareporting/v2.0/dfareporting-gen.go
@@ -9263,24 +9263,23 @@
 	s                *Service
 	profileId        int64
 	summaryAccountId int64
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Gets the account's active ad summary by account ID.
 func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
-	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountActiveAdSummariesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.summaryAccountId = summaryAccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9290,13 +9289,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9304,17 +9303,21 @@
 
 func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":        strconv.FormatInt(c.profileId, 10),
 		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9395,27 +9398,26 @@
 // method id "dfareporting.accountPermissionGroups.get":
 
 type AccountPermissionGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account permission group by ID.
 func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
-	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9425,13 +9427,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9439,17 +9441,21 @@
 
 func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9530,25 +9536,24 @@
 // method id "dfareporting.accountPermissionGroups.list":
 
 type AccountPermissionGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of account permission groups.
 func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
-	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9558,13 +9563,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9572,16 +9577,20 @@
 
 func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9655,27 +9664,26 @@
 // method id "dfareporting.accountPermissions.get":
 
 type AccountPermissionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account permission by ID.
 func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
-	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9685,13 +9693,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9699,17 +9707,21 @@
 
 func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9790,25 +9802,24 @@
 // method id "dfareporting.accountPermissions.list":
 
 type AccountPermissionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of account permissions.
 func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
-	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9818,13 +9829,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9832,16 +9843,20 @@
 
 func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9914,27 +9929,26 @@
 // method id "dfareporting.accountUserProfiles.get":
 
 type AccountUserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account user profile by ID.
 func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
-	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9944,13 +9958,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9958,17 +9972,21 @@
 
 func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10049,16 +10067,15 @@
 // method id "dfareporting.accountUserProfiles.list":
 
 type AccountUserProfilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of account user profiles, possibly filtered.
 func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
-	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -10066,32 +10083,28 @@
 // Active sets the optional parameter "active": Select only active user
 // profiles.
 func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user profiles with
 // these IDs.
-func (c *AccountUserProfilesListCall) Ids(ids []int64) *AccountUserProfilesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AccountUserProfilesListCall) Ids(ids int64) *AccountUserProfilesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -10105,7 +10118,7 @@
 // name "my user profile", "user profile 2015", or simply "user
 // profile".
 func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -10116,7 +10129,7 @@
 //   "ID"
 //   "NAME"
 func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -10127,29 +10140,29 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // user profiles with the specified subaccount ID.
 func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
 // UserRoleId sets the optional parameter "userRoleId": Select only user
 // profiles with the specified user role ID.
 func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("userRoleId", fmt.Sprintf("%v", userRoleId))
+	c.opt_["userRoleId"] = userRoleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10159,13 +10172,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10173,16 +10186,47 @@
 
 func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userRoleId"]; ok {
+		params.Set("userRoleId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10323,32 +10367,33 @@
 type AccountUserProfilesPatchCall struct {
 	s                  *Service
 	profileId          int64
+	id                 int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing account user profile. This method supports
 // patch semantics.
 func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
-	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10361,9 +10406,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -10455,29 +10505,29 @@
 	s                  *Service
 	profileId          int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing account user profile.
 func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
-	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10490,9 +10540,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -10573,27 +10627,26 @@
 // method id "dfareporting.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account by ID.
 func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10603,13 +10656,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10617,17 +10670,21 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10708,16 +10765,15 @@
 // method id "dfareporting.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of accounts, possibly filtered.
 func (r *AccountsService) List(profileId int64) *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -10726,32 +10782,28 @@
 // accounts. Don't set this field to select both active and non-active
 // accounts.
 func (c *AccountsListCall) Active(active bool) *AccountsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only accounts with
 // these IDs.
-func (c *AccountsListCall) Ids(ids []int64) *AccountsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AccountsListCall) Ids(ids int64) *AccountsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -10764,7 +10816,7 @@
 // match objects with name "my account", "account 2015", or simply
 // "account".
 func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -10775,7 +10827,7 @@
 //   "ID"
 //   "NAME"
 func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -10786,15 +10838,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10804,13 +10856,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -10818,16 +10870,41 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10954,34 +11031,35 @@
 // method id "dfareporting.accounts.patch":
 
 type AccountsPatchCall struct {
-	s          *Service
-	profileId  int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10994,9 +11072,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11085,32 +11168,32 @@
 // method id "dfareporting.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing account.
 func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11123,9 +11206,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11206,27 +11293,26 @@
 // method id "dfareporting.ads.get":
 
 type AdsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one ad by ID.
 func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
-	c := &AdsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11236,13 +11322,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11250,17 +11336,21 @@
 
 func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11341,32 +11431,32 @@
 // method id "dfareporting.ads.insert":
 
 type AdsInsertCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new ad.
 func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
-	c := &AdsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -11379,9 +11469,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11462,59 +11556,50 @@
 // method id "dfareporting.ads.list":
 
 type AdsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of ads, possibly filtered.
 func (r *AdsService) List(profileId int64) *AdsListCall {
-	c := &AdsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active ads.
 func (c *AdsListCall) Active(active bool) *AdsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // ads with this advertiser ID.
 func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // Archived sets the optional parameter "archived": Select only archived
 // ads.
 func (c *AdsListCall) Archived(archived bool) *AdsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 // Select only ads with these audience segment IDs.
-func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds []int64) *AdsListCall {
-	var audienceSegmentIds_ []string
-	for _, v := range audienceSegmentIds {
-		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
+func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds int64) *AdsListCall {
+	c.opt_["audienceSegmentIds"] = audienceSegmentIds
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // ads with these campaign IDs.
-func (c *AdsListCall) CampaignIds(campaignIds []int64) *AdsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *AdsListCall) CampaignIds(campaignIds int64) *AdsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
@@ -11533,30 +11618,22 @@
 //   "WEB"
 //   "WEB_INTERSTITIAL"
 func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
-	c.urlParams_.Set("compatibility", compatibility)
+	c.opt_["compatibility"] = compatibility
 	return c
 }
 
 // CreativeIds sets the optional parameter "creativeIds": Select only
 // ads with these creative IDs assigned.
-func (c *AdsListCall) CreativeIds(creativeIds []int64) *AdsListCall {
-	var creativeIds_ []string
-	for _, v := range creativeIds {
-		creativeIds_ = append(creativeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeIds", creativeIds_)
+func (c *AdsListCall) CreativeIds(creativeIds int64) *AdsListCall {
+	c.opt_["creativeIds"] = creativeIds
 	return c
 }
 
 // CreativeOptimizationConfigurationIds sets the optional parameter
 // "creativeOptimizationConfigurationIds": Select only ads with these
 // creative optimization configuration IDs.
-func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds []int64) *AdsListCall {
-	var creativeOptimizationConfigurationIds_ []string
-	for _, v := range creativeOptimizationConfigurationIds {
-		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
+func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds int64) *AdsListCall {
+	c.opt_["creativeOptimizationConfigurationIds"] = creativeOptimizationConfigurationIds
 	return c
 }
 
@@ -11589,7 +11666,7 @@
 //   "VPAID_LINEAR"
 //   "VPAID_NON_LINEAR"
 func (c *AdsListCall) CreativeType(creativeType string) *AdsListCall {
-	c.urlParams_.Set("creativeType", creativeType)
+	c.opt_["creativeType"] = creativeType
 	return c
 }
 
@@ -11599,36 +11676,28 @@
 // trackers. If false, select static click trackers. Leave unset to
 // select both.
 func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
-	c.urlParams_.Set("dynamicClickTracker", fmt.Sprintf("%v", dynamicClickTracker))
+	c.opt_["dynamicClickTracker"] = dynamicClickTracker
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only ads with these
 // IDs.
-func (c *AdsListCall) Ids(ids []int64) *AdsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdsListCall) Ids(ids int64) *AdsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // LandingPageIds sets the optional parameter "landingPageIds": Select
 // only ads with these landing page IDs.
-func (c *AdsListCall) LandingPageIds(landingPageIds []int64) *AdsListCall {
-	var landingPageIds_ []string
-	for _, v := range landingPageIds {
-		landingPageIds_ = append(landingPageIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
+func (c *AdsListCall) LandingPageIds(landingPageIds int64) *AdsListCall {
+	c.opt_["landingPageIds"] = landingPageIds
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11636,37 +11705,29 @@
 // "overriddenEventTagId": Select only ads with this event tag override
 // ID.
 func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
-	c.urlParams_.Set("overriddenEventTagId", fmt.Sprintf("%v", overriddenEventTagId))
+	c.opt_["overriddenEventTagId"] = overriddenEventTagId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PlacementIds sets the optional parameter "placementIds": Select only
 // ads with these placement IDs assigned.
-func (c *AdsListCall) PlacementIds(placementIds []int64) *AdsListCall {
-	var placementIds_ []string
-	for _, v := range placementIds {
-		placementIds_ = append(placementIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementIds", placementIds_)
+func (c *AdsListCall) PlacementIds(placementIds int64) *AdsListCall {
+	c.opt_["placementIds"] = placementIds
 	return c
 }
 
 // RemarketingListIds sets the optional parameter "remarketingListIds":
 // Select only ads whose list targeting expression use these remarketing
 // list IDs.
-func (c *AdsListCall) RemarketingListIds(remarketingListIds []int64) *AdsListCall {
-	var remarketingListIds_ []string
-	for _, v := range remarketingListIds {
-		remarketingListIds_ = append(remarketingListIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
+func (c *AdsListCall) RemarketingListIds(remarketingListIds int64) *AdsListCall {
+	c.opt_["remarketingListIds"] = remarketingListIds
 	return c
 }
 
@@ -11678,18 +11739,14 @@
 // string. For example, a search string of "ad" will match objects with
 // name "my ad", "ad 2015", or simply "ad".
 func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only ads with
 // these size IDs.
-func (c *AdsListCall) SizeIds(sizeIds []int64) *AdsListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *AdsListCall) SizeIds(sizeIds int64) *AdsListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -11700,7 +11757,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdsListCall) SortField(sortField string) *AdsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -11711,21 +11768,21 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SslCompliant sets the optional parameter "sslCompliant": Select only
 // ads that are SSL-compliant.
 func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
-	c.urlParams_.Set("sslCompliant", fmt.Sprintf("%v", sslCompliant))
+	c.opt_["sslCompliant"] = sslCompliant
 	return c
 }
 
 // SslRequired sets the optional parameter "sslRequired": Select only
 // ads that require SSL.
 func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
-	c.urlParams_.Set("sslRequired", fmt.Sprintf("%v", sslRequired))
+	c.opt_["sslRequired"] = sslRequired
 	return c
 }
 
@@ -11737,16 +11794,16 @@
 //   "AD_SERVING_DEFAULT_AD"
 //   "AD_SERVING_STANDARD_AD"
 //   "AD_SERVING_TRACKING"
-func (c *AdsListCall) Type(type_ []string) *AdsListCall {
-	c.urlParams_.SetMulti("type_", append([]string{}, type_...))
+func (c *AdsListCall) Type(type_ string) *AdsListCall {
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11756,13 +11813,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11770,16 +11827,92 @@
 
 func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["audienceSegmentIds"]; ok {
+		params.Set("audienceSegmentIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["compatibility"]; ok {
+		params.Set("compatibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeIds"]; ok {
+		params.Set("creativeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeOptimizationConfigurationIds"]; ok {
+		params.Set("creativeOptimizationConfigurationIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeType"]; ok {
+		params.Set("creativeType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dynamicClickTracker"]; ok {
+		params.Set("dynamicClickTracker", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["landingPageIds"]; ok {
+		params.Set("landingPageIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["overriddenEventTagId"]; ok {
+		params.Set("overriddenEventTagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementIds"]; ok {
+		params.Set("placementIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["remarketingListIds"]; ok {
+		params.Set("remarketingListIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sslCompliant"]; ok {
+		params.Set("sslCompliant", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sslRequired"]; ok {
+		params.Set("sslRequired", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12088,33 +12221,34 @@
 // method id "dfareporting.ads.patch":
 
 type AdsPatchCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing ad. This method supports patch semantics.
 func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
-	c := &AdsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12127,9 +12261,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12218,32 +12357,32 @@
 // method id "dfareporting.ads.update":
 
 type AdsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing ad.
 func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
-	c := &AdsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -12256,9 +12395,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12339,32 +12482,32 @@
 // method id "dfareporting.advertiserGroups.delete":
 
 type AdvertiserGroupsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing advertiser group.
 func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
-	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -12372,9 +12515,13 @@
 
 func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12433,27 +12580,26 @@
 // method id "dfareporting.advertiserGroups.get":
 
 type AdvertiserGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one advertiser group by ID.
 func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
-	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12463,13 +12609,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12477,17 +12623,21 @@
 
 func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12571,29 +12721,29 @@
 	s               *Service
 	profileId       int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new advertiser group.
 func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
-	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12606,9 +12756,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12689,42 +12843,37 @@
 // method id "dfareporting.advertiserGroups.list":
 
 type AdvertiserGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of advertiser groups, possibly filtered.
 func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
-	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only advertiser groups
 // with these IDs.
-func (c *AdvertiserGroupsListCall) Ids(ids []int64) *AdvertiserGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdvertiserGroupsListCall) Ids(ids int64) *AdvertiserGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -12738,7 +12887,7 @@
 // with name "my advertisergroup", "advertisergroup 2015", or simply
 // "advertisergroup".
 func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -12749,7 +12898,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -12760,15 +12909,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12778,13 +12927,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12792,16 +12941,38 @@
 
 func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12925,32 +13096,33 @@
 type AdvertiserGroupsPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing advertiser group. This method supports
 // patch semantics.
 func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
-	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12963,9 +13135,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13057,29 +13234,29 @@
 	s               *Service
 	profileId       int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing advertiser group.
 func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
-	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13092,9 +13269,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13175,27 +13356,26 @@
 // method id "dfareporting.advertisers.get":
 
 type AdvertisersGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one advertiser by ID.
 func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
-	c := &AdvertisersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13205,13 +13385,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13219,17 +13399,21 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13313,29 +13497,29 @@
 	s          *Service
 	profileId  int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new advertiser.
 func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
-	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13348,9 +13532,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13431,51 +13619,38 @@
 // method id "dfareporting.advertisers.list":
 
 type AdvertisersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of advertisers, possibly filtered.
 func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
-	c := &AdvertisersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 // Select only advertisers with these advertiser group IDs.
-func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds []int64) *AdvertisersListCall {
-	var advertiserGroupIds_ []string
-	for _, v := range advertiserGroupIds {
-		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
+func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds int64) *AdvertisersListCall {
+	c.opt_["advertiserGroupIds"] = advertiserGroupIds
 	return c
 }
 
 // FloodlightConfigurationIds sets the optional parameter
 // "floodlightConfigurationIds": Select only advertisers with these
 // floodlight configuration IDs.
-func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds []int64) *AdvertisersListCall {
-	var floodlightConfigurationIds_ []string
-	for _, v := range floodlightConfigurationIds {
-		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
+func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds int64) *AdvertisersListCall {
+	c.opt_["floodlightConfigurationIds"] = floodlightConfigurationIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only advertisers with
 // these IDs.
-func (c *AdvertisersListCall) Ids(ids []int64) *AdvertisersListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdvertisersListCall) Ids(ids int64) *AdvertisersListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -13483,28 +13658,28 @@
 // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 // do not belong to any advertiser group.
 func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
-	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprintf("%v", includeAdvertisersWithoutGroupsOnly))
+	c.opt_["includeAdvertisersWithoutGroupsOnly"] = includeAdvertisersWithoutGroupsOnly
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OnlyParent sets the optional parameter "onlyParent": Select only
 // advertisers which use another advertiser's floodlight configuration.
 func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
-	c.urlParams_.Set("onlyParent", fmt.Sprintf("%v", onlyParent))
+	c.opt_["onlyParent"] = onlyParent
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -13517,7 +13692,7 @@
 // string of "advertiser" will match objects with name "my advertiser",
 // "advertiser 2015", or simply "advertiser".
 func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -13528,7 +13703,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -13539,7 +13714,7 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -13550,22 +13725,22 @@
 //   "APPROVED"
 //   "ON_HOLD"
 func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
-	c.urlParams_.Set("status", status)
+	c.opt_["status"] = status
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // advertisers with these subaccount IDs.
 func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13575,13 +13750,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 	c.ctx_ = ctx
 	return c
@@ -13589,16 +13764,56 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserGroupIds"]; ok {
+		params.Set("advertiserGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationIds"]; ok {
+		params.Set("floodlightConfigurationIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeAdvertisersWithoutGroupsOnly"]; ok {
+		params.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onlyParent"]; ok {
+		params.Set("onlyParent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13765,32 +13980,33 @@
 type AdvertisersPatchCall struct {
 	s          *Service
 	profileId  int64
+	id         int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing advertiser. This method supports patch
 // semantics.
 func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
-	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -13803,9 +14019,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13897,29 +14118,29 @@
 	s          *Service
 	profileId  int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing advertiser.
 func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
-	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13932,9 +14153,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14015,25 +14240,24 @@
 // method id "dfareporting.browsers.list":
 
 type BrowsersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of browsers.
 func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
-	c := &BrowsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BrowsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14043,13 +14267,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -14057,16 +14281,20 @@
 
 func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14143,7 +14371,7 @@
 	profileId                   int64
 	campaignId                  int64
 	campaigncreativeassociation *CampaignCreativeAssociation
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
@@ -14151,24 +14379,24 @@
 // method creates a default ad with dimensions matching the creative in
 // the campaign if such a default ad does not exist already.
 func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
-	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignCreativeAssociationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.campaigncreativeassociation = campaigncreativeassociation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14181,9 +14409,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -14273,18 +14505,17 @@
 // method id "dfareporting.campaignCreativeAssociations.list":
 
 type CampaignCreativeAssociationsListCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieves the list of creative IDs associated with the
 // specified campaign.
 func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
-	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignCreativeAssociationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	return c
@@ -14293,14 +14524,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14311,15 +14542,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14329,13 +14560,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -14343,17 +14574,30 @@
 
 func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
 		"campaignId": strconv.FormatInt(c.campaignId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14460,27 +14704,26 @@
 // method id "dfareporting.campaigns.get":
 
 type CampaignsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one campaign by ID.
 func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
-	c := &CampaignsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14490,13 +14733,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -14504,17 +14747,21 @@
 
 func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14595,34 +14842,36 @@
 // method id "dfareporting.campaigns.insert":
 
 type CampaignsInsertCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                      *Service
+	profileId              int64
+	defaultLandingPageName string
+	defaultLandingPageUrl  string
+	campaign               *Campaign
+	opt_                   map[string]interface{}
+	ctx_                   context.Context
 }
 
 // Insert: Inserts a new campaign.
 func (r *CampaignsService) Insert(profileId int64, defaultLandingPageName string, defaultLandingPageUrl string, campaign *Campaign) *CampaignsInsertCall {
-	c := &CampaignsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("defaultLandingPageName", defaultLandingPageName)
-	c.urlParams_.Set("defaultLandingPageUrl", defaultLandingPageUrl)
+	c.defaultLandingPageName = defaultLandingPageName
+	c.defaultLandingPageUrl = defaultLandingPageUrl
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14635,9 +14884,15 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("defaultLandingPageName", fmt.Sprintf("%v", c.defaultLandingPageName))
+	params.Set("defaultLandingPageUrl", fmt.Sprintf("%v", c.defaultLandingPageUrl))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14732,16 +14987,15 @@
 // method id "dfareporting.campaigns.list":
 
 type CampaignsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of campaigns, possibly filtered.
 func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
-	c := &CampaignsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -14749,23 +15003,15 @@
 // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 // Select only campaigns whose advertisers belong to these advertiser
 // groups.
-func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds []int64) *CampaignsListCall {
-	var advertiserGroupIds_ []string
-	for _, v := range advertiserGroupIds {
-		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
+func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds int64) *CampaignsListCall {
+	c.opt_["advertiserGroupIds"] = advertiserGroupIds
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only campaigns that belong to these advertisers.
-func (c *CampaignsListCall) AdvertiserIds(advertiserIds []int64) *CampaignsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CampaignsListCall) AdvertiserIds(advertiserIds int64) *CampaignsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -14773,7 +15019,7 @@
 // campaigns. Don't set this field to select both archived and
 // non-archived campaigns.
 func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
@@ -14781,36 +15027,28 @@
 // "atLeastOneOptimizationActivity": Select only campaigns that have at
 // least one optimization activity.
 func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
-	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprintf("%v", atLeastOneOptimizationActivity))
+	c.opt_["atLeastOneOptimizationActivity"] = atLeastOneOptimizationActivity
 	return c
 }
 
 // ExcludedIds sets the optional parameter "excludedIds": Exclude
 // campaigns with these IDs.
-func (c *CampaignsListCall) ExcludedIds(excludedIds []int64) *CampaignsListCall {
-	var excludedIds_ []string
-	for _, v := range excludedIds {
-		excludedIds_ = append(excludedIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("excludedIds", excludedIds_)
+func (c *CampaignsListCall) ExcludedIds(excludedIds int64) *CampaignsListCall {
+	c.opt_["excludedIds"] = excludedIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only campaigns with
 // these IDs.
-func (c *CampaignsListCall) Ids(ids []int64) *CampaignsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CampaignsListCall) Ids(ids int64) *CampaignsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14818,14 +15056,14 @@
 // "overriddenEventTagId": Select only campaigns that have overridden
 // this event tag ID.
 func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
-	c.urlParams_.Set("overriddenEventTagId", fmt.Sprintf("%v", overriddenEventTagId))
+	c.opt_["overriddenEventTagId"] = overriddenEventTagId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14838,7 +15076,7 @@
 // of "campaign" will match campaigns with name "my campaign", "campaign
 // 2015", or simply "campaign".
 func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -14849,7 +15087,7 @@
 //   "ID"
 //   "NAME"
 func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -14860,22 +15098,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // campaigns that belong to this subaccount.
 func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14885,13 +15123,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 	c.ctx_ = ctx
 	return c
@@ -14899,16 +15137,59 @@
 
 func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserGroupIds"]; ok {
+		params.Set("advertiserGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["atLeastOneOptimizationActivity"]; ok {
+		params.Set("atLeastOneOptimizationActivity", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["excludedIds"]; ok {
+		params.Set("excludedIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["overriddenEventTagId"]; ok {
+		params.Set("overriddenEventTagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15073,34 +15354,35 @@
 // method id "dfareporting.campaigns.patch":
 
 type CampaignsPatchCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	campaign  *Campaign
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing campaign. This method supports patch
 // semantics.
 func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
-	c := &CampaignsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -15113,9 +15395,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -15204,32 +15491,32 @@
 // method id "dfareporting.campaigns.update":
 
 type CampaignsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	campaign  *Campaign
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing campaign.
 func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
-	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -15242,9 +15529,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -15325,27 +15616,26 @@
 // method id "dfareporting.changeLogs.get":
 
 type ChangeLogsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one change log by ID.
 func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
-	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangeLogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15355,13 +15645,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -15369,17 +15659,21 @@
 
 func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15460,16 +15754,15 @@
 // method id "dfareporting.changeLogs.list":
 
 type ChangeLogsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of change logs.
 func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
-	c := &ChangeLogsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangeLogsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -15496,18 +15789,14 @@
 //   "ACTION_UNLINK"
 //   "ACTION_UPDATE"
 func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
-	c.urlParams_.Set("action", action)
+	c.opt_["action"] = action
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only change logs with
 // these IDs.
-func (c *ChangeLogsListCall) Ids(ids []int64) *ChangeLogsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ChangeLogsListCall) Ids(ids int64) *ChangeLogsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -15520,14 +15809,14 @@
 // the letter T, the hour (24-hour clock system), minute, second, and
 // then the time zone offset.
 func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
-	c.urlParams_.Set("maxChangeTime", maxChangeTime)
+	c.opt_["maxChangeTime"] = maxChangeTime
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -15540,18 +15829,14 @@
 // the letter T, the hour (24-hour clock system), minute, second, and
 // then the time zone offset.
 func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
-	c.urlParams_.Set("minChangeTime", minChangeTime)
+	c.opt_["minChangeTime"] = minChangeTime
 	return c
 }
 
 // ObjectIds sets the optional parameter "objectIds": Select only change
 // logs with these object IDs.
-func (c *ChangeLogsListCall) ObjectIds(objectIds []int64) *ChangeLogsListCall {
-	var objectIds_ []string
-	for _, v := range objectIds {
-		objectIds_ = append(objectIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("objectIds", objectIds_)
+func (c *ChangeLogsListCall) ObjectIds(objectIds int64) *ChangeLogsListCall {
+	c.opt_["objectIds"] = objectIds
 	return c
 }
 
@@ -15596,14 +15881,14 @@
 //   "OBJECT_USER_PROFILE_FILTER"
 //   "OBJECT_USER_ROLE"
 func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
-	c.urlParams_.Set("objectType", objectType)
+	c.opt_["objectType"] = objectType
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -15611,26 +15896,22 @@
 // change logs whose object ID, user name, old or new values match the
 // search string.
 func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // UserProfileIds sets the optional parameter "userProfileIds": Select
 // only change logs with these user profile IDs.
-func (c *ChangeLogsListCall) UserProfileIds(userProfileIds []int64) *ChangeLogsListCall {
-	var userProfileIds_ []string
-	for _, v := range userProfileIds {
-		userProfileIds_ = append(userProfileIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
+func (c *ChangeLogsListCall) UserProfileIds(userProfileIds int64) *ChangeLogsListCall {
+	c.opt_["userProfileIds"] = userProfileIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15640,13 +15921,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 	c.ctx_ = ctx
 	return c
@@ -15654,16 +15935,50 @@
 
 func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["action"]; ok {
+		params.Set("action", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxChangeTime"]; ok {
+		params.Set("maxChangeTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minChangeTime"]; ok {
+		params.Set("minChangeTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["objectIds"]; ok {
+		params.Set("objectIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["objectType"]; ok {
+		params.Set("objectType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userProfileIds"]; ok {
+		params.Set("userProfileIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15907,65 +16222,52 @@
 // method id "dfareporting.cities.list":
 
 type CitiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of cities, possibly filtered.
 func (r *CitiesService) List(profileId int64) *CitiesListCall {
-	c := &CitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // CountryDartIds sets the optional parameter "countryDartIds": Select
 // only cities from these countries.
-func (c *CitiesListCall) CountryDartIds(countryDartIds []int64) *CitiesListCall {
-	var countryDartIds_ []string
-	for _, v := range countryDartIds {
-		countryDartIds_ = append(countryDartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
+func (c *CitiesListCall) CountryDartIds(countryDartIds int64) *CitiesListCall {
+	c.opt_["countryDartIds"] = countryDartIds
 	return c
 }
 
 // DartIds sets the optional parameter "dartIds": Select only cities
 // with these DART IDs.
-func (c *CitiesListCall) DartIds(dartIds []int64) *CitiesListCall {
-	var dartIds_ []string
-	for _, v := range dartIds {
-		dartIds_ = append(dartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("dartIds", dartIds_)
+func (c *CitiesListCall) DartIds(dartIds int64) *CitiesListCall {
+	c.opt_["dartIds"] = dartIds
 	return c
 }
 
 // NamePrefix sets the optional parameter "namePrefix": Select only
 // cities with names starting with this prefix.
 func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
-	c.urlParams_.Set("namePrefix", namePrefix)
+	c.opt_["namePrefix"] = namePrefix
 	return c
 }
 
 // RegionDartIds sets the optional parameter "regionDartIds": Select
 // only cities from these regions.
-func (c *CitiesListCall) RegionDartIds(regionDartIds []int64) *CitiesListCall {
-	var regionDartIds_ []string
-	for _, v := range regionDartIds {
-		regionDartIds_ = append(regionDartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
+func (c *CitiesListCall) RegionDartIds(regionDartIds int64) *CitiesListCall {
+	c.opt_["regionDartIds"] = regionDartIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15975,13 +16277,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -15989,16 +16291,32 @@
 
 func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["countryDartIds"]; ok {
+		params.Set("countryDartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dartIds"]; ok {
+		params.Set("dartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["namePrefix"]; ok {
+		params.Set("namePrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionDartIds"]; ok {
+		params.Set("regionDartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16097,25 +16415,24 @@
 // method id "dfareporting.connectionTypes.list":
 
 type ConnectionTypesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of connection types.
 func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
-	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConnectionTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16125,13 +16442,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -16139,16 +16456,20 @@
 
 func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16221,32 +16542,32 @@
 // method id "dfareporting.contentCategories.delete":
 
 type ContentCategoriesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing content category.
 func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
-	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -16254,9 +16575,13 @@
 
 func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16315,27 +16640,26 @@
 // method id "dfareporting.contentCategories.get":
 
 type ContentCategoriesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one content category by ID.
 func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
-	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16345,13 +16669,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -16359,17 +16683,21 @@
 
 func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16453,29 +16781,29 @@
 	s               *Service
 	profileId       int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new content category.
 func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
-	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -16488,9 +16816,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16571,42 +16903,37 @@
 // method id "dfareporting.contentCategories.list":
 
 type ContentCategoriesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of content categories, possibly filtered.
 func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
-	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only content categories
 // with these IDs.
-func (c *ContentCategoriesListCall) Ids(ids []int64) *ContentCategoriesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ContentCategoriesListCall) Ids(ids int64) *ContentCategoriesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -16620,7 +16947,7 @@
 // name "my contentcategory", "contentcategory 2015", or simply
 // "contentcategory".
 func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -16631,7 +16958,7 @@
 //   "ID"
 //   "NAME"
 func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -16642,15 +16969,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16660,13 +16987,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -16674,16 +17001,38 @@
 
 func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16807,32 +17156,33 @@
 type ContentCategoriesPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing content category. This method supports
 // patch semantics.
 func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
-	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -16845,9 +17195,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16939,29 +17294,29 @@
 	s               *Service
 	profileId       int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing content category.
 func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
-	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -16974,9 +17329,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -17057,27 +17416,26 @@
 // method id "dfareporting.countries.get":
 
 type CountriesGetCall struct {
-	s            *Service
-	profileId    int64
-	dartId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	dartId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one country by ID.
 func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
-	c := &CountriesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CountriesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dartId = dartId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17087,13 +17445,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17101,17 +17459,21 @@
 
 func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"dartId":    strconv.FormatInt(c.dartId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17192,25 +17554,24 @@
 // method id "dfareporting.countries.list":
 
 type CountriesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of countries.
 func (r *CountriesService) List(profileId int64) *CountriesListCall {
-	c := &CountriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CountriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17220,13 +17581,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -17234,16 +17595,20 @@
 
 func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17320,38 +17685,37 @@
 	profileId             int64
 	advertiserId          int64
 	creativeassetmetadata *CreativeAssetMetadata
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	media_                io.Reader
 	resumable_            googleapi.SizeReaderAt
 	mediaType_            string
 	protocol_             string
-	progressUpdater_      googleapi.ProgressUpdater
 	ctx_                  context.Context
 }
 
 // Insert: Inserts a new creative asset.
 func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
-	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeAssetsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiserId = advertiserId
 	c.creativeassetmetadata = creativeassetmetadata
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *CreativeAssetsInsertCall) Media(r io.Reader) *CreativeAssetsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -17360,28 +17724,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17394,13 +17757,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -17454,6 +17821,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -17463,7 +17836,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -17543,30 +17916,30 @@
 	profileId       int64
 	creativeFieldId int64
 	id              int64
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes an existing creative field value.
 func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
-	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -17574,9 +17947,13 @@
 
 func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -17648,25 +18025,24 @@
 	profileId       int64
 	creativeFieldId int64
 	id              int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets one creative field value by ID.
 func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
-	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17676,13 +18052,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17690,9 +18066,13 @@
 
 func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -17700,8 +18080,8 @@
 		"id":              strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17794,30 +18174,30 @@
 	profileId          int64
 	creativeFieldId    int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new creative field value.
 func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
-	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17830,9 +18210,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -17925,14 +18309,13 @@
 	s               *Service
 	profileId       int64
 	creativeFieldId int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: Retrieves a list of creative field values, possibly filtered.
 func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
-	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	return c
@@ -17940,26 +18323,22 @@
 
 // Ids sets the optional parameter "ids": Select only creative field
 // values with these IDs.
-func (c *CreativeFieldValuesListCall) Ids(ids []int64) *CreativeFieldValuesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeFieldValuesListCall) Ids(ids int64) *CreativeFieldValuesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -17967,7 +18346,7 @@
 // searching for creative field values by their values. Wildcards (e.g.
 // *) are not allowed.
 func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -17978,7 +18357,7 @@
 //   "ID"
 //   "VALUE"
 func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -17989,15 +18368,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18007,13 +18386,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 	c.ctx_ = ctx
 	return c
@@ -18021,17 +18400,39 @@
 
 func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
 		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18164,33 +18565,34 @@
 	s                  *Service
 	profileId          int64
 	creativeFieldId    int64
+	id                 int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing creative field value. This method supports
 // patch semantics.
 func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
-	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -18203,9 +18605,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -18307,30 +18714,30 @@
 	profileId          int64
 	creativeFieldId    int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing creative field value.
 func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
-	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -18343,9 +18750,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -18435,32 +18846,32 @@
 // method id "dfareporting.creativeFields.delete":
 
 type CreativeFieldsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing creative field.
 func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
-	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -18468,9 +18879,13 @@
 
 func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18529,27 +18944,26 @@
 // method id "dfareporting.creativeFields.get":
 
 type CreativeFieldsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative field by ID.
 func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
-	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18559,13 +18973,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -18573,17 +18987,21 @@
 
 func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18667,29 +19085,29 @@
 	s             *Service
 	profileId     int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new creative field.
 func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
-	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -18702,9 +19120,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18785,53 +19207,44 @@
 // method id "dfareporting.creativeFields.list":
 
 type CreativeFieldsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creative fields, possibly filtered.
 func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
-	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only creative fields that belong to these advertisers.
-func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds []int64) *CreativeFieldsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds int64) *CreativeFieldsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creative fields
 // with these IDs.
-func (c *CreativeFieldsListCall) Ids(ids []int64) *CreativeFieldsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeFieldsListCall) Ids(ids int64) *CreativeFieldsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -18845,7 +19258,7 @@
 // creative fields with the name "my creativefield", "creativefield
 // 2015", or simply "creativefield".
 func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -18856,7 +19269,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -18867,15 +19280,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18885,13 +19298,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 	c.ctx_ = ctx
 	return c
@@ -18899,16 +19312,41 @@
 
 func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19039,32 +19477,33 @@
 type CreativeFieldsPatchCall struct {
 	s             *Service
 	profileId     int64
+	id            int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing creative field. This method supports patch
 // semantics.
 func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
-	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -19077,9 +19516,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -19171,29 +19615,29 @@
 	s             *Service
 	profileId     int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing creative field.
 func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
-	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -19206,9 +19650,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -19289,27 +19737,26 @@
 // method id "dfareporting.creativeGroups.get":
 
 type CreativeGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative group by ID.
 func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
-	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19319,13 +19766,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -19333,17 +19780,21 @@
 
 func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19427,29 +19878,29 @@
 	s             *Service
 	profileId     int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new creative group.
 func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
-	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -19462,9 +19913,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -19545,60 +20000,51 @@
 // method id "dfareporting.creativeGroups.list":
 
 type CreativeGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creative groups, possibly filtered.
 func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
-	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only creative groups that belong to these advertisers.
-func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds []int64) *CreativeGroupsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds int64) *CreativeGroupsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // GroupNumber sets the optional parameter "groupNumber": Select only
 // creative groups that belong to this subgroup.
 func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
-	c.urlParams_.Set("groupNumber", fmt.Sprintf("%v", groupNumber))
+	c.opt_["groupNumber"] = groupNumber
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creative groups
 // with these IDs.
-func (c *CreativeGroupsListCall) Ids(ids []int64) *CreativeGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeGroupsListCall) Ids(ids int64) *CreativeGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -19612,7 +20058,7 @@
 // creative groups with the name "my creativegroup", "creativegroup
 // 2015", or simply "creativegroup".
 func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -19623,7 +20069,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -19634,15 +20080,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19652,13 +20098,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -19666,16 +20112,44 @@
 
 func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupNumber"]; ok {
+		params.Set("groupNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19812,32 +20286,33 @@
 type CreativeGroupsPatchCall struct {
 	s             *Service
 	profileId     int64
+	id            int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing creative group. This method supports patch
 // semantics.
 func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
-	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -19850,9 +20325,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -19944,29 +20424,29 @@
 	s             *Service
 	profileId     int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing creative group.
 func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
-	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -19979,9 +20459,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20062,27 +20546,26 @@
 // method id "dfareporting.creatives.get":
 
 type CreativesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative by ID.
 func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
-	c := &CreativesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20092,13 +20575,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -20106,17 +20589,21 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20197,32 +20684,32 @@
 // method id "dfareporting.creatives.insert":
 
 type CreativesInsertCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new creative.
 func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
-	c := &CreativesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -20235,9 +20722,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20318,16 +20809,15 @@
 // method id "dfareporting.creatives.list":
 
 type CreativesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creatives, possibly filtered.
 func (r *CreativesService) List(profileId int64) *CreativesListCall {
-	c := &CreativesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -20335,87 +20825,71 @@
 // Active sets the optional parameter "active": Select only active
 // creatives. Leave blank to select active and inactive creatives.
 func (c *CreativesListCall) Active(active bool) *CreativesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // creatives with this advertiser ID.
 func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // Archived sets the optional parameter "archived": Select only archived
 // creatives. Leave blank to select archived and unarchived creatives.
 func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Select only
 // creatives with this campaign ID.
 func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // CompanionCreativeIds sets the optional parameter
 // "companionCreativeIds": Select only in-stream video creatives with
 // these companion IDs.
-func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds []int64) *CreativesListCall {
-	var companionCreativeIds_ []string
-	for _, v := range companionCreativeIds {
-		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
+func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds int64) *CreativesListCall {
+	c.opt_["companionCreativeIds"] = companionCreativeIds
 	return c
 }
 
 // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 // Select only creatives with these creative field IDs.
-func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds []int64) *CreativesListCall {
-	var creativeFieldIds_ []string
-	for _, v := range creativeFieldIds {
-		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
+func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds int64) *CreativesListCall {
+	c.opt_["creativeFieldIds"] = creativeFieldIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creatives with
 // these IDs.
-func (c *CreativesListCall) Ids(ids []int64) *CreativesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativesListCall) Ids(ids int64) *CreativesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // RenderingIds sets the optional parameter "renderingIds": Select only
 // creatives with these rendering IDs.
-func (c *CreativesListCall) RenderingIds(renderingIds []int64) *CreativesListCall {
-	var renderingIds_ []string
-	for _, v := range renderingIds {
-		renderingIds_ = append(renderingIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("renderingIds", renderingIds_)
+func (c *CreativesListCall) RenderingIds(renderingIds int64) *CreativesListCall {
+	c.opt_["renderingIds"] = renderingIds
 	return c
 }
 
@@ -20428,18 +20902,14 @@
 // of "creative" will match objects with name "my creative", "creative
 // 2015", or simply "creative".
 func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only creatives
 // with these size IDs.
-func (c *CreativesListCall) SizeIds(sizeIds []int64) *CreativesListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *CreativesListCall) SizeIds(sizeIds int64) *CreativesListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -20450,7 +20920,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -20461,14 +20931,14 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // StudioCreativeId sets the optional parameter "studioCreativeId":
 // Select only creatives corresponding to this Studio creative ID.
 func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
-	c.urlParams_.Set("studioCreativeId", fmt.Sprintf("%v", studioCreativeId))
+	c.opt_["studioCreativeId"] = studioCreativeId
 	return c
 }
 
@@ -20500,16 +20970,16 @@
 //   "VAST_REDIRECT"
 //   "VPAID_LINEAR"
 //   "VPAID_NON_LINEAR"
-func (c *CreativesListCall) Types(types []string) *CreativesListCall {
-	c.urlParams_.SetMulti("types", append([]string{}, types...))
+func (c *CreativesListCall) Types(types string) *CreativesListCall {
+	c.opt_["types"] = types
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20519,13 +20989,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 	c.ctx_ = ctx
 	return c
@@ -20533,16 +21003,68 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["companionCreativeIds"]; ok {
+		params.Set("companionCreativeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeFieldIds"]; ok {
+		params.Set("creativeFieldIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["renderingIds"]; ok {
+		params.Set("renderingIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioCreativeId"]; ok {
+		params.Set("studioCreativeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["types"]; ok {
+		params.Set("types", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20778,34 +21300,35 @@
 // method id "dfareporting.creatives.patch":
 
 type CreativesPatchCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing creative. This method supports patch
 // semantics.
 func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
-	c := &CreativesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -20818,9 +21341,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20909,32 +21437,32 @@
 // method id "dfareporting.creatives.update":
 
 type CreativesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing creative.
 func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
-	c := &CreativesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -20947,9 +21475,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21033,14 +21565,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -21049,28 +21581,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -21083,9 +21615,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21179,27 +21721,26 @@
 // method id "dfareporting.directorySiteContacts.get":
 
 type DirectorySiteContactsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one directory site contact by ID.
 func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
-	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySiteContactsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21209,13 +21750,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -21223,17 +21764,21 @@
 
 func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21314,16 +21859,15 @@
 // method id "dfareporting.directorySiteContacts.list":
 
 type DirectorySiteContactsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of directory site contacts, possibly filtered.
 func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
-	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySiteContactsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -21331,37 +21875,29 @@
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only directory site contacts with these directory site IDs.
 // This is a required field.
-func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds []int64) *DirectorySiteContactsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds int64) *DirectorySiteContactsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only directory site
 // contacts with these IDs.
-func (c *DirectorySiteContactsListCall) Ids(ids []int64) *DirectorySiteContactsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *DirectorySiteContactsListCall) Ids(ids int64) *DirectorySiteContactsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -21376,7 +21912,7 @@
 // directory site contact", "directory site contact 2015", or simply
 // "directory site contact".
 func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -21387,7 +21923,7 @@
 //   "ID"
 //   "NAME"
 func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -21398,15 +21934,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21416,13 +21952,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
 	c.ctx_ = ctx
 	return c
@@ -21430,16 +21966,41 @@
 
 func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21569,27 +22130,26 @@
 // method id "dfareporting.directorySites.get":
 
 type DirectorySitesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one directory site by ID.
 func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
-	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21599,13 +22159,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -21613,17 +22173,21 @@
 
 func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21704,16 +22268,15 @@
 // method id "dfareporting.directorySites.list":
 
 type DirectorySitesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of directory sites, possibly filtered.
 func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
-	c := &DirectorySitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -21722,7 +22285,7 @@
 // "acceptsInStreamVideoPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", acceptsInStreamVideoPlacements))
+	c.opt_["acceptsInStreamVideoPlacements"] = acceptsInStreamVideoPlacements
 	return c
 }
 
@@ -21730,7 +22293,7 @@
 // "acceptsInterstitialPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", acceptsInterstitialPlacements))
+	c.opt_["acceptsInterstitialPlacements"] = acceptsInterstitialPlacements
 	return c
 }
 
@@ -21738,7 +22301,7 @@
 // "acceptsPublisherPaidPlacements": Select only directory sites that
 // accept publisher paid placements. This field can be left blank.
 func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", acceptsPublisherPaidPlacements))
+	c.opt_["acceptsPublisherPaidPlacements"] = acceptsPublisherPaidPlacements
 	return c
 }
 
@@ -21746,53 +22309,49 @@
 // directory sites. Leave blank to retrieve both active and inactive
 // directory sites.
 func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // CountryId sets the optional parameter "countryId": Select only
 // directory sites with this country ID.
 func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
-	c.urlParams_.Set("countryId", fmt.Sprintf("%v", countryId))
+	c.opt_["countryId"] = countryId
 	return c
 }
 
 // DfpNetworkCode sets the optional parameter "dfp_network_code": Select
 // only directory sites with this DFP network code.
 func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
-	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
+	c.opt_["dfp_network_code"] = dfpNetworkCode
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only directory sites
 // with these IDs.
-func (c *DirectorySitesListCall) Ids(ids []int64) *DirectorySitesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *DirectorySitesListCall) Ids(ids int64) *DirectorySitesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // ParentId sets the optional parameter "parentId": Select only
 // directory sites with this parent ID.
 func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
-	c.urlParams_.Set("parentId", fmt.Sprintf("%v", parentId))
+	c.opt_["parentId"] = parentId
 	return c
 }
 
@@ -21806,7 +22365,7 @@
 // name "my directory site", "directory site 2015" or simply, "directory
 // site".
 func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -21817,7 +22376,7 @@
 //   "ID"
 //   "NAME"
 func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -21828,15 +22387,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21846,13 +22405,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -21860,16 +22419,59 @@
 
 func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acceptsInStreamVideoPlacements"]; ok {
+		params.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsInterstitialPlacements"]; ok {
+		params.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsPublisherPaidPlacements"]; ok {
+		params.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["countryId"]; ok {
+		params.Set("countryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dfp_network_code"]; ok {
+		params.Set("dfp_network_code", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["parentId"]; ok {
+		params.Set("parentId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22028,32 +22630,32 @@
 // method id "dfareporting.eventTags.delete":
 
 type EventTagsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing event tag.
 func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
-	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -22061,9 +22663,13 @@
 
 func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22122,27 +22728,26 @@
 // method id "dfareporting.eventTags.get":
 
 type EventTagsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one event tag by ID.
 func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
-	c := &EventTagsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22152,13 +22757,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -22166,17 +22771,21 @@
 
 func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22257,32 +22866,32 @@
 // method id "dfareporting.eventTags.insert":
 
 type EventTagsInsertCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new event tag.
 func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
-	c := &EventTagsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -22295,9 +22904,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22378,16 +22991,15 @@
 // method id "dfareporting.eventTags.list":
 
 type EventTagsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of event tags, possibly filtered.
 func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
-	c := &EventTagsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -22395,21 +23007,21 @@
 // AdId sets the optional parameter "adId": Select only event tags that
 // belong to this ad.
 func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
-	c.urlParams_.Set("adId", fmt.Sprintf("%v", adId))
+	c.opt_["adId"] = adId
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // event tags that belong to this advertiser.
 func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Select only
 // event tags that belong to this campaign.
 func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
@@ -22422,7 +23034,7 @@
 // be set to true when adId is specified as ads do not define their own
 // even tags.
 func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
-	c.urlParams_.Set("definitionsOnly", fmt.Sprintf("%v", definitionsOnly))
+	c.opt_["definitionsOnly"] = definitionsOnly
 	return c
 }
 
@@ -22435,7 +23047,7 @@
 // campaign's event tags' enabledByDefault and status fields are
 // examined as well.
 func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
-	c.urlParams_.Set("enabled", fmt.Sprintf("%v", enabled))
+	c.opt_["enabled"] = enabled
 	return c
 }
 
@@ -22449,19 +23061,15 @@
 //   "CLICK_THROUGH_EVENT_TAG"
 //   "IMPRESSION_IMAGE_EVENT_TAG"
 //   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
-func (c *EventTagsListCall) EventTagTypes(eventTagTypes []string) *EventTagsListCall {
-	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
+func (c *EventTagsListCall) EventTagTypes(eventTagTypes string) *EventTagsListCall {
+	c.opt_["eventTagTypes"] = eventTagTypes
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only event tags with
 // these IDs.
-func (c *EventTagsListCall) Ids(ids []int64) *EventTagsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *EventTagsListCall) Ids(ids int64) *EventTagsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -22474,7 +23082,7 @@
 // of "eventtag" will match objects with name "my eventtag", "eventtag
 // 2015", or simply "eventtag".
 func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -22485,7 +23093,7 @@
 //   "ID"
 //   "NAME"
 func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -22496,15 +23104,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22514,13 +23122,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 	c.ctx_ = ctx
 	return c
@@ -22528,16 +23136,50 @@
 
 func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["adId"]; ok {
+		params.Set("adId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["definitionsOnly"]; ok {
+		params.Set("definitionsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["enabled"]; ok {
+		params.Set("enabled", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventTagTypes"]; ok {
+		params.Set("eventTagTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22692,34 +23334,35 @@
 // method id "dfareporting.eventTags.patch":
 
 type EventTagsPatchCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing event tag. This method supports patch
 // semantics.
 func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
-	c := &EventTagsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -22732,9 +23375,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22823,32 +23471,32 @@
 // method id "dfareporting.eventTags.update":
 
 type EventTagsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing event tag.
 func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
-	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -22861,9 +23509,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22944,27 +23596,26 @@
 // method id "dfareporting.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	reportId int64
+	fileId   int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a report file by its report ID and file ID.
 func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22974,13 +23625,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -22988,17 +23639,21 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId": strconv.FormatInt(c.reportId, 10),
 		"fileId":   strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23095,16 +23750,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -23112,14 +23766,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -23131,7 +23785,7 @@
 //   "MINE" (default) - My files.
 //   "SHARED_WITH_ME" - Files shared with me.
 func (c *FilesListCall) Scope(scope string) *FilesListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -23142,7 +23796,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -23153,15 +23807,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23171,13 +23825,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -23185,16 +23839,35 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23324,32 +23997,32 @@
 // method id "dfareporting.floodlightActivities.delete":
 
 type FloodlightActivitiesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing floodlight activity.
 func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
-	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -23357,9 +24030,13 @@
 
 func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23418,15 +24095,15 @@
 // method id "dfareporting.floodlightActivities.generatetag":
 
 type FloodlightActivitiesGeneratetagCall struct {
-	s          *Service
-	profileId  int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generatetag: Generates a tag for a floodlight activity.
 func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
-	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesGeneratetagCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -23435,21 +24112,21 @@
 // "floodlightActivityId": Floodlight activity ID for which we want to
 // generate a tag.
 func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
-	c.urlParams_.Set("floodlightActivityId", fmt.Sprintf("%v", floodlightActivityId))
+	c.opt_["floodlightActivityId"] = floodlightActivityId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 	c.ctx_ = ctx
 	return c
@@ -23457,9 +24134,16 @@
 
 func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["floodlightActivityId"]; ok {
+		params.Set("floodlightActivityId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23543,27 +24227,26 @@
 // method id "dfareporting.floodlightActivities.get":
 
 type FloodlightActivitiesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight activity by ID.
 func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
-	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23573,13 +24256,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23587,17 +24270,21 @@
 
 func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23681,29 +24368,29 @@
 	s                  *Service
 	profileId          int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new floodlight activity.
 func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
-	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -23716,9 +24403,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23799,16 +24490,15 @@
 // method id "dfareporting.floodlightActivities.list":
 
 type FloodlightActivitiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight activities, possibly filtered.
 func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
-	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -23818,19 +24508,15 @@
 // either ids, advertiserId, or floodlightConfigurationId for a
 // non-empty result.
 func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // FloodlightActivityGroupIds sets the optional parameter
 // "floodlightActivityGroupIds": Select only floodlight activities with
 // the specified floodlight activity group IDs.
-func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds []int64) *FloodlightActivitiesListCall {
-	var floodlightActivityGroupIds_ []string
-	for _, v := range floodlightActivityGroupIds {
-		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
+func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds int64) *FloodlightActivitiesListCall {
+	c.opt_["floodlightActivityGroupIds"] = floodlightActivityGroupIds
 	return c
 }
 
@@ -23838,7 +24524,7 @@
 // "floodlightActivityGroupName": Select only floodlight activities with
 // the specified floodlight activity group name.
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
+	c.opt_["floodlightActivityGroupName"] = floodlightActivityGroupName
 	return c
 }
 
@@ -23846,7 +24532,7 @@
 // "floodlightActivityGroupTagString": Select only floodlight activities
 // with the specified floodlight activity group tag string.
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
+	c.opt_["floodlightActivityGroupTagString"] = floodlightActivityGroupTagString
 	return c
 }
 
@@ -23858,7 +24544,7 @@
 //   "COUNTER"
 //   "SALE"
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
+	c.opt_["floodlightActivityGroupType"] = floodlightActivityGroupType
 	return c
 }
 
@@ -23867,33 +24553,29 @@
 // the specified floodlight configuration ID. Must specify either ids,
 // advertiserId, or floodlightConfigurationId for a non-empty result.
 func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprintf("%v", floodlightConfigurationId))
+	c.opt_["floodlightConfigurationId"] = floodlightConfigurationId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only floodlight
 // activities with the specified IDs. Must specify either ids,
 // advertiserId, or floodlightConfigurationId for a non-empty result.
-func (c *FloodlightActivitiesListCall) Ids(ids []int64) *FloodlightActivitiesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightActivitiesListCall) Ids(ids int64) *FloodlightActivitiesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -23907,7 +24589,7 @@
 // objects with name "my floodlightactivity activity",
 // "floodlightactivity 2015", or simply "floodlightactivity".
 func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -23918,7 +24600,7 @@
 //   "ID"
 //   "NAME"
 func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -23929,22 +24611,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // TagString sets the optional parameter "tagString": Select only
 // floodlight activities with the specified tag string.
 func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("tagString", tagString)
+	c.opt_["tagString"] = tagString
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23954,13 +24636,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -23968,16 +24650,59 @@
 
 func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupIds"]; ok {
+		params.Set("floodlightActivityGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupName"]; ok {
+		params.Set("floodlightActivityGroupName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupTagString"]; ok {
+		params.Set("floodlightActivityGroupTagString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupType"]; ok {
+		params.Set("floodlightActivityGroupType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationId"]; ok {
+		params.Set("floodlightConfigurationId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tagString"]; ok {
+		params.Set("tagString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24148,32 +24873,33 @@
 type FloodlightActivitiesPatchCall struct {
 	s                  *Service
 	profileId          int64
+	id                 int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing floodlight activity. This method supports
 // patch semantics.
 func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
-	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -24186,9 +24912,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24280,29 +25011,29 @@
 	s                  *Service
 	profileId          int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing floodlight activity.
 func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
-	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -24315,9 +25046,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24398,32 +25133,32 @@
 // method id "dfareporting.floodlightActivityGroups.delete":
 
 type FloodlightActivityGroupsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing floodlight activity group.
 func (r *FloodlightActivityGroupsService) Delete(profileId int64, id int64) *FloodlightActivityGroupsDeleteCall {
-	c := &FloodlightActivityGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsDeleteCall) Context(ctx context.Context) *FloodlightActivityGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -24431,9 +25166,13 @@
 
 func (c *FloodlightActivityGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24492,27 +25231,26 @@
 // method id "dfareporting.floodlightActivityGroups.get":
 
 type FloodlightActivityGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight activity group by ID.
 func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
-	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24522,13 +25260,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -24536,17 +25274,21 @@
 
 func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24630,29 +25372,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Insert: Inserts a new floodlight activity group.
 func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
-	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -24665,9 +25407,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24748,17 +25494,16 @@
 // method id "dfareporting.floodlightActivityGroups.list":
 
 type FloodlightActivityGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight activity groups, possibly
 // filtered.
 func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
-	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -24768,7 +25513,7 @@
 // specify either advertiserId or floodlightConfigurationId for a
 // non-empty result.
 func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
@@ -24777,33 +25522,29 @@
 // with the specified floodlight configuration ID. Must specify either
 // advertiserId, or floodlightConfigurationId for a non-empty result.
 func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprintf("%v", floodlightConfigurationId))
+	c.opt_["floodlightConfigurationId"] = floodlightConfigurationId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only floodlight
 // activity groups with the specified IDs. Must specify either
 // advertiserId or floodlightConfigurationId for a non-empty result.
-func (c *FloodlightActivityGroupsListCall) Ids(ids []int64) *FloodlightActivityGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightActivityGroupsListCall) Ids(ids int64) *FloodlightActivityGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -24818,7 +25559,7 @@
 // objects with name "my floodlightactivitygroup activity",
 // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -24829,7 +25570,7 @@
 //   "ID"
 //   "NAME"
 func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -24840,7 +25581,7 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -24851,15 +25592,15 @@
 //   "COUNTER"
 //   "SALE"
 func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24869,13 +25610,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -24883,16 +25624,47 @@
 
 func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationId"]; ok {
+		params.Set("floodlightConfigurationId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25042,32 +25814,33 @@
 type FloodlightActivityGroupsPatchCall struct {
 	s                       *Service
 	profileId               int64
+	id                      int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Patch: Updates an existing floodlight activity group. This method
 // supports patch semantics.
 func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
-	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -25080,9 +25853,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25174,29 +25952,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Update: Updates an existing floodlight activity group.
 func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
-	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -25209,9 +25987,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25292,27 +26074,26 @@
 // method id "dfareporting.floodlightConfigurations.get":
 
 type FloodlightConfigurationsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight configuration by ID.
 func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
-	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25322,13 +26103,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25336,17 +26117,21 @@
 
 func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25427,17 +26212,16 @@
 // method id "dfareporting.floodlightConfigurations.list":
 
 type FloodlightConfigurationsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight configurations, possibly
 // filtered.
 func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
-	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -25445,20 +26229,16 @@
 // Ids sets the optional parameter "ids": Set of IDs of floodlight
 // configurations to retrieve. Required field; otherwise an empty list
 // will be returned.
-func (c *FloodlightConfigurationsListCall) Ids(ids []int64) *FloodlightConfigurationsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightConfigurationsListCall) Ids(ids int64) *FloodlightConfigurationsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25468,13 +26248,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -25482,16 +26262,23 @@
 
 func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25574,32 +26361,33 @@
 type FloodlightConfigurationsPatchCall struct {
 	s                       *Service
 	profileId               int64
+	id                      int64
 	floodlightconfiguration *FloodlightConfiguration
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Patch: Updates an existing floodlight configuration. This method
 // supports patch semantics.
 func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
-	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -25612,9 +26400,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25706,29 +26499,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightconfiguration *FloodlightConfiguration
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Update: Updates an existing floodlight configuration.
 func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
-	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -25741,9 +26534,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25828,30 +26625,30 @@
 	profileId  int64
 	campaignId int64
 	id         int64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an existing campaign landing page.
 func (r *LandingPagesService) Delete(profileId int64, campaignId int64, id int64) *LandingPagesDeleteCall {
-	c := &LandingPagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesDeleteCall) Fields(s ...googleapi.Field) *LandingPagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesDeleteCall) Context(ctx context.Context) *LandingPagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -25859,9 +26656,13 @@
 
 func (c *LandingPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -25929,29 +26730,28 @@
 // method id "dfareporting.landingPages.get":
 
 type LandingPagesGetCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	id         int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets one campaign landing page by ID.
 func (r *LandingPagesService) Get(profileId int64, campaignId int64, id int64) *LandingPagesGetCall {
-	c := &LandingPagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesGetCall) Fields(s ...googleapi.Field) *LandingPagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25961,13 +26761,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LandingPagesGetCall) IfNoneMatch(entityTag string) *LandingPagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesGetCall) Context(ctx context.Context) *LandingPagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25975,9 +26775,13 @@
 
 func (c *LandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -25985,8 +26789,8 @@
 		"id":         strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26079,30 +26883,30 @@
 	profileId   int64
 	campaignId  int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Insert: Inserts a new landing page for the specified campaign.
 func (r *LandingPagesService) Insert(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesInsertCall {
-	c := &LandingPagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesInsertCall) Fields(s ...googleapi.Field) *LandingPagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesInsertCall) Context(ctx context.Context) *LandingPagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -26115,9 +26919,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -26207,27 +27015,26 @@
 // method id "dfareporting.landingPages.list":
 
 type LandingPagesListCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieves the list of landing pages for the specified campaign.
 func (r *LandingPagesService) List(profileId int64, campaignId int64) *LandingPagesListCall {
-	c := &LandingPagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesListCall) Fields(s ...googleapi.Field) *LandingPagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26237,13 +27044,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LandingPagesListCall) IfNoneMatch(entityTag string) *LandingPagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesListCall) Context(ctx context.Context) *LandingPagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -26251,17 +27058,21 @@
 
 func (c *LandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
 		"campaignId": strconv.FormatInt(c.campaignId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26345,33 +27156,34 @@
 	s           *Service
 	profileId   int64
 	campaignId  int64
+	id          int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Updates an existing campaign landing page. This method
 // supports patch semantics.
 func (r *LandingPagesService) Patch(profileId int64, campaignId int64, id int64, landingpage *LandingPage) *LandingPagesPatchCall {
-	c := &LandingPagesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesPatchCall) Fields(s ...googleapi.Field) *LandingPagesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesPatchCall) Context(ctx context.Context) *LandingPagesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -26384,9 +27196,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -26488,30 +27305,30 @@
 	profileId   int64
 	campaignId  int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates an existing campaign landing page.
 func (r *LandingPagesService) Update(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesUpdateCall {
-	c := &LandingPagesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesUpdateCall) Fields(s ...googleapi.Field) *LandingPagesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesUpdateCall) Context(ctx context.Context) *LandingPagesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -26524,9 +27341,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -26616,25 +27437,24 @@
 // method id "dfareporting.metros.list":
 
 type MetrosListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of metros.
 func (r *MetrosService) List(profileId int64) *MetrosListCall {
-	c := &MetrosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetrosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26644,13 +27464,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 	c.ctx_ = ctx
 	return c
@@ -26658,16 +27478,20 @@
 
 func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26740,25 +27564,24 @@
 // method id "dfareporting.mobileCarriers.list":
 
 type MobileCarriersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of mobile carriers.
 func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
-	c := &MobileCarriersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobileCarriersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26768,13 +27591,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 	c.ctx_ = ctx
 	return c
@@ -26782,16 +27605,20 @@
 
 func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26864,25 +27691,24 @@
 // method id "dfareporting.operatingSystemVersions.list":
 
 type OperatingSystemVersionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of operating system versions.
 func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
-	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemVersionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26892,13 +27718,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -26906,16 +27732,20 @@
 
 func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26989,25 +27819,24 @@
 // method id "dfareporting.operatingSystems.list":
 
 type OperatingSystemsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of operating systems.
 func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
-	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27017,13 +27846,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27031,16 +27860,20 @@
 
 func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27113,27 +27946,26 @@
 // method id "dfareporting.placementGroups.get":
 
 type PlacementGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement group by ID.
 func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
-	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27143,13 +27975,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27157,17 +27989,21 @@
 
 func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27251,29 +28087,29 @@
 	s              *Service
 	profileId      int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Inserts a new placement group.
 func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
-	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -27286,9 +28122,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27369,28 +28209,23 @@
 // method id "dfareporting.placementGroups.list":
 
 type PlacementGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placement groups, possibly filtered.
 func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
-	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only placement groups that belong to these advertisers.
-func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds []int64) *PlacementGroupsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds int64) *PlacementGroupsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -27398,67 +28233,51 @@
 // placements. Don't set this field to select both archived and
 // non-archived placements.
 func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // placement groups that belong to these campaigns.
-func (c *PlacementGroupsListCall) CampaignIds(campaignIds []int64) *PlacementGroupsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *PlacementGroupsListCall) CampaignIds(campaignIds int64) *PlacementGroupsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
 // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 // Select only placement groups that are associated with these content
 // categories.
-func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds []int64) *PlacementGroupsListCall {
-	var contentCategoryIds_ []string
-	for _, v := range contentCategoryIds {
-		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
+func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds int64) *PlacementGroupsListCall {
+	c.opt_["contentCategoryIds"] = contentCategoryIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only placement groups that are associated with these directory
 // sites.
-func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds []int64) *PlacementGroupsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds int64) *PlacementGroupsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placement groups
 // with these IDs.
-func (c *PlacementGroupsListCall) Ids(ids []int64) *PlacementGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementGroupsListCall) Ids(ids int64) *PlacementGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -27474,19 +28293,15 @@
 //   "PLACEMENT_PACKAGE"
 //   "PLACEMENT_ROADBLOCK"
 func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
-	c.urlParams_.Set("placementGroupType", placementGroupType)
+	c.opt_["placementGroupType"] = placementGroupType
 	return c
 }
 
 // PlacementStrategyIds sets the optional parameter
 // "placementStrategyIds": Select only placement groups that are
 // associated with these placement strategies.
-func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds []int64) *PlacementGroupsListCall {
-	var placementStrategyIds_ []string
-	for _, v := range placementStrategyIds {
-		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
+func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds int64) *PlacementGroupsListCall {
+	c.opt_["placementStrategyIds"] = placementStrategyIds
 	return c
 }
 
@@ -27499,8 +28314,8 @@
 //   "PRICING_TYPE_CPM"
 //   "PRICING_TYPE_FLAT_RATE_CLICKS"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
-func (c *PlacementGroupsListCall) PricingTypes(pricingTypes []string) *PlacementGroupsListCall {
-	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
+func (c *PlacementGroupsListCall) PricingTypes(pricingTypes string) *PlacementGroupsListCall {
+	c.opt_["pricingTypes"] = pricingTypes
 	return c
 }
 
@@ -27514,18 +28329,14 @@
 // groups with name "my placementgroup", "placementgroup 2015", or
 // simply "placementgroup".
 func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteIds sets the optional parameter "siteIds": Select only placement
 // groups that are associated with these sites.
-func (c *PlacementGroupsListCall) SiteIds(siteIds []int64) *PlacementGroupsListCall {
-	var siteIds_ []string
-	for _, v := range siteIds {
-		siteIds_ = append(siteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteIds", siteIds_)
+func (c *PlacementGroupsListCall) SiteIds(siteIds int64) *PlacementGroupsListCall {
+	c.opt_["siteIds"] = siteIds
 	return c
 }
 
@@ -27536,7 +28347,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -27547,15 +28358,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27565,13 +28376,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27579,16 +28390,65 @@
 
 func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentCategoryIds"]; ok {
+		params.Set("contentCategoryIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementGroupType"]; ok {
+		params.Set("placementGroupType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementStrategyIds"]; ok {
+		params.Set("placementStrategyIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pricingTypes"]; ok {
+		params.Set("pricingTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteIds"]; ok {
+		params.Set("siteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27792,32 +28652,33 @@
 type PlacementGroupsPatchCall struct {
 	s              *Service
 	profileId      int64
+	id             int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates an existing placement group. This method supports
 // patch semantics.
 func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
-	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -27830,9 +28691,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27924,29 +28790,29 @@
 	s              *Service
 	profileId      int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates an existing placement group.
 func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
-	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -27959,9 +28825,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -28042,32 +28912,32 @@
 // method id "dfareporting.placementStrategies.delete":
 
 type PlacementStrategiesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing placement strategy.
 func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
-	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -28075,9 +28945,13 @@
 
 func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -28136,27 +29010,26 @@
 // method id "dfareporting.placementStrategies.get":
 
 type PlacementStrategiesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement strategy by ID.
 func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
-	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28166,13 +29039,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28180,17 +29053,21 @@
 
 func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28274,29 +29151,29 @@
 	s                 *Service
 	profileId         int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Insert: Inserts a new placement strategy.
 func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
-	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -28309,9 +29186,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -28392,42 +29273,37 @@
 // method id "dfareporting.placementStrategies.list":
 
 type PlacementStrategiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placement strategies, possibly filtered.
 func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
-	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placement
 // strategies with these IDs.
-func (c *PlacementStrategiesListCall) Ids(ids []int64) *PlacementStrategiesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementStrategiesListCall) Ids(ids int64) *PlacementStrategiesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -28441,7 +29317,7 @@
 // objects with name "my placementstrategy", "placementstrategy 2015",
 // or simply "placementstrategy".
 func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -28452,7 +29328,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -28463,15 +29339,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28481,13 +29357,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -28495,16 +29371,38 @@
 
 func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28628,32 +29526,33 @@
 type PlacementStrategiesPatchCall struct {
 	s                 *Service
 	profileId         int64
+	id                int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Updates an existing placement strategy. This method supports
 // patch semantics.
 func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
-	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -28666,9 +29565,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -28760,29 +29664,29 @@
 	s                 *Service
 	profileId         int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Updates an existing placement strategy.
 func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
-	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -28795,9 +29699,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -28878,15 +29786,15 @@
 // method id "dfareporting.placements.generatetags":
 
 type PlacementsGeneratetagsCall struct {
-	s          *Service
-	profileId  int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generatetags: Generates tags for a placement.
 func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
-	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsGeneratetagsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -28894,18 +29802,14 @@
 // CampaignId sets the optional parameter "campaignId": Generate
 // placements belonging to this campaign. This is a required field.
 func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // PlacementIds sets the optional parameter "placementIds": Generate
 // tags for these placements.
-func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds []int64) *PlacementsGeneratetagsCall {
-	var placementIds_ []string
-	for _, v := range placementIds {
-		placementIds_ = append(placementIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementIds", placementIds_)
+func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds int64) *PlacementsGeneratetagsCall {
+	c.opt_["placementIds"] = placementIds
 	return c
 }
 
@@ -28931,22 +29835,22 @@
 //   "PLACEMENT_TAG_TRACKING"
 //   "PLACEMENT_TAG_TRACKING_IFRAME"
 //   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
-func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats []string) *PlacementsGeneratetagsCall {
-	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
+func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats string) *PlacementsGeneratetagsCall {
+	c.opt_["tagFormats"] = tagFormats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 	c.ctx_ = ctx
 	return c
@@ -28954,9 +29858,22 @@
 
 func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementIds"]; ok {
+		params.Set("placementIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tagFormats"]; ok {
+		params.Set("tagFormats", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -29092,27 +30009,26 @@
 // method id "dfareporting.placements.get":
 
 type PlacementsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement by ID.
 func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
-	c := &PlacementsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29122,13 +30038,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29136,17 +30052,21 @@
 
 func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29227,32 +30147,32 @@
 // method id "dfareporting.placements.insert":
 
 type PlacementsInsertCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new placement.
 func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
-	c := &PlacementsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -29265,9 +30185,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -29348,28 +30272,23 @@
 // method id "dfareporting.placements.list":
 
 type PlacementsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placements, possibly filtered.
 func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
-	c := &PlacementsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only placements that belong to these advertisers.
-func (c *PlacementsListCall) AdvertiserIds(advertiserIds []int64) *PlacementsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *PlacementsListCall) AdvertiserIds(advertiserIds int64) *PlacementsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -29377,18 +30296,14 @@
 // placements. Don't set this field to select both archived and
 // non-archived placements.
 func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // placements that belong to these campaigns.
-func (c *PlacementsListCall) CampaignIds(campaignIds []int64) *PlacementsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *PlacementsListCall) CampaignIds(campaignIds int64) *PlacementsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
@@ -29406,68 +30321,52 @@
 //   "IN_STREAM_VIDEO"
 //   "WEB"
 //   "WEB_INTERSTITIAL"
-func (c *PlacementsListCall) Compatibilities(compatibilities []string) *PlacementsListCall {
-	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
+func (c *PlacementsListCall) Compatibilities(compatibilities string) *PlacementsListCall {
+	c.opt_["compatibilities"] = compatibilities
 	return c
 }
 
 // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 // Select only placements that are associated with these content
 // categories.
-func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds []int64) *PlacementsListCall {
-	var contentCategoryIds_ []string
-	for _, v := range contentCategoryIds {
-		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
+func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds int64) *PlacementsListCall {
+	c.opt_["contentCategoryIds"] = contentCategoryIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only placements that are associated with these directory
 // sites.
-func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds []int64) *PlacementsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds int64) *PlacementsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // GroupIds sets the optional parameter "groupIds": Select only
 // placements that belong to these placement groups.
-func (c *PlacementsListCall) GroupIds(groupIds []int64) *PlacementsListCall {
-	var groupIds_ []string
-	for _, v := range groupIds {
-		groupIds_ = append(groupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("groupIds", groupIds_)
+func (c *PlacementsListCall) GroupIds(groupIds int64) *PlacementsListCall {
+	c.opt_["groupIds"] = groupIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placements with
 // these IDs.
-func (c *PlacementsListCall) Ids(ids []int64) *PlacementsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementsListCall) Ids(ids int64) *PlacementsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -29478,19 +30377,15 @@
 //   "PLACEMENT_AGENCY_PAID"
 //   "PLACEMENT_PUBLISHER_PAID"
 func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
-	c.urlParams_.Set("paymentSource", paymentSource)
+	c.opt_["paymentSource"] = paymentSource
 	return c
 }
 
 // PlacementStrategyIds sets the optional parameter
 // "placementStrategyIds": Select only placements that are associated
 // with these placement strategies.
-func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds []int64) *PlacementsListCall {
-	var placementStrategyIds_ []string
-	for _, v := range placementStrategyIds {
-		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
+func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds int64) *PlacementsListCall {
+	c.opt_["placementStrategyIds"] = placementStrategyIds
 	return c
 }
 
@@ -29503,8 +30398,8 @@
 //   "PRICING_TYPE_CPM"
 //   "PRICING_TYPE_FLAT_RATE_CLICKS"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
-func (c *PlacementsListCall) PricingTypes(pricingTypes []string) *PlacementsListCall {
-	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
+func (c *PlacementsListCall) PricingTypes(pricingTypes string) *PlacementsListCall {
+	c.opt_["pricingTypes"] = pricingTypes
 	return c
 }
 
@@ -29517,29 +30412,21 @@
 // of "placement" will match placements with name "my placement",
 // "placement 2015", or simply "placement".
 func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteIds sets the optional parameter "siteIds": Select only placements
 // that are associated with these sites.
-func (c *PlacementsListCall) SiteIds(siteIds []int64) *PlacementsListCall {
-	var siteIds_ []string
-	for _, v := range siteIds {
-		siteIds_ = append(siteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteIds", siteIds_)
+func (c *PlacementsListCall) SiteIds(siteIds int64) *PlacementsListCall {
+	c.opt_["siteIds"] = siteIds
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only placements
 // that are associated with these sizes.
-func (c *PlacementsListCall) SizeIds(sizeIds []int64) *PlacementsListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *PlacementsListCall) SizeIds(sizeIds int64) *PlacementsListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -29550,7 +30437,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -29561,15 +30448,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29579,13 +30466,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29593,16 +30480,74 @@
 
 func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["compatibilities"]; ok {
+		params.Set("compatibilities", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentCategoryIds"]; ok {
+		params.Set("contentCategoryIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupIds"]; ok {
+		params.Set("groupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["paymentSource"]; ok {
+		params.Set("paymentSource", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementStrategyIds"]; ok {
+		params.Set("placementStrategyIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pricingTypes"]; ok {
+		params.Set("pricingTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteIds"]; ok {
+		params.Set("siteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29838,34 +30783,35 @@
 // method id "dfareporting.placements.patch":
 
 type PlacementsPatchCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing placement. This method supports patch
 // semantics.
 func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
-	c := &PlacementsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -29878,9 +30824,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -29969,32 +30920,32 @@
 // method id "dfareporting.placements.update":
 
 type PlacementsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing placement.
 func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
-	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -30007,9 +30958,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30090,25 +31045,24 @@
 // method id "dfareporting.platformTypes.list":
 
 type PlatformTypesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of platform types.
 func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
-	c := &PlatformTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlatformTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30118,13 +31072,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -30132,16 +31086,20 @@
 
 func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30214,25 +31172,24 @@
 // method id "dfareporting.postalCodes.list":
 
 type PostalCodesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of postal codes.
 func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
-	c := &PostalCodesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostalCodesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30242,13 +31199,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 	c.ctx_ = ctx
 	return c
@@ -30256,16 +31213,20 @@
 
 func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30338,25 +31299,24 @@
 // method id "dfareporting.regions.list":
 
 type RegionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of regions.
 func (r *RegionsService) List(profileId int64) *RegionsListCall {
-	c := &RegionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30366,13 +31326,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -30380,16 +31340,20 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30462,32 +31426,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its ID.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -30495,9 +31459,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30556,27 +31524,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its ID.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30586,13 +31553,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30600,17 +31567,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30691,32 +31662,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -30729,9 +31700,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30812,16 +31787,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -30829,14 +31803,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -30847,7 +31821,7 @@
 //   "ALL" - All reports in account.
 //   "MINE" (default) - My reports.
 func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -30859,7 +31833,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -30870,15 +31844,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30888,13 +31862,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -30902,16 +31876,35 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31041,34 +32034,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -31081,9 +32074,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31173,16 +32170,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -31191,21 +32188,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -31213,9 +32210,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31306,34 +32310,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -31346,9 +32350,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31438,34 +32446,34 @@
 // method id "dfareporting.reports.compatibleFields.query":
 
 type ReportsCompatibleFieldsQueryCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Query: Returns the fields that are compatible to be selected in the
 // respective sections of a report criteria, given the fields already
 // selected in the input report and user permissions.
 func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
-	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsCompatibleFieldsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -31478,9 +32486,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31561,29 +32573,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31593,13 +32604,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -31607,9 +32618,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31617,8 +32632,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31723,17 +32738,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -31742,14 +32756,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -31760,7 +32774,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -31771,15 +32785,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31789,13 +32803,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -31803,17 +32817,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31935,27 +32965,26 @@
 // method id "dfareporting.sites.get":
 
 type SitesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one site by ID.
 func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
-	c := &SitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31965,13 +32994,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -31979,17 +33008,21 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32070,32 +33103,32 @@
 // method id "dfareporting.sites.insert":
 
 type SitesInsertCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new site.
 func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
-	c := &SitesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -32108,9 +33141,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32191,16 +33228,15 @@
 // method id "dfareporting.sites.list":
 
 type SitesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of sites, possibly filtered.
 func (r *SitesService) List(profileId int64) *SitesListCall {
-	c := &SitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -32209,7 +33245,7 @@
 // "acceptsInStreamVideoPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", acceptsInStreamVideoPlacements))
+	c.opt_["acceptsInStreamVideoPlacements"] = acceptsInStreamVideoPlacements
 	return c
 }
 
@@ -32217,7 +33253,7 @@
 // "acceptsInterstitialPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", acceptsInterstitialPlacements))
+	c.opt_["acceptsInterstitialPlacements"] = acceptsInterstitialPlacements
 	return c
 }
 
@@ -32225,68 +33261,56 @@
 // "acceptsPublisherPaidPlacements": Select only sites that accept
 // publisher paid placements.
 func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", acceptsPublisherPaidPlacements))
+	c.opt_["acceptsPublisherPaidPlacements"] = acceptsPublisherPaidPlacements
 	return c
 }
 
 // AdWordsSite sets the optional parameter "adWordsSite": Select only
 // AdWords sites.
 func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
-	c.urlParams_.Set("adWordsSite", fmt.Sprintf("%v", adWordsSite))
+	c.opt_["adWordsSite"] = adWordsSite
 	return c
 }
 
 // Approved sets the optional parameter "approved": Select only approved
 // sites.
 func (c *SitesListCall) Approved(approved bool) *SitesListCall {
-	c.urlParams_.Set("approved", fmt.Sprintf("%v", approved))
+	c.opt_["approved"] = approved
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // sites with these campaign IDs.
-func (c *SitesListCall) CampaignIds(campaignIds []int64) *SitesListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *SitesListCall) CampaignIds(campaignIds int64) *SitesListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only sites with these directory site IDs.
-func (c *SitesListCall) DirectorySiteIds(directorySiteIds []int64) *SitesListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *SitesListCall) DirectorySiteIds(directorySiteIds int64) *SitesListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only sites with these
 // IDs.
-func (c *SitesListCall) Ids(ids []int64) *SitesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SitesListCall) Ids(ids int64) *SitesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -32298,7 +33322,7 @@
 // of the search string. For example, a search string of "site" will
 // match objects with name "my site", "site 2015", or simply "site".
 func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -32309,7 +33333,7 @@
 //   "ID"
 //   "NAME"
 func (c *SitesListCall) SortField(sortField string) *SitesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -32320,29 +33344,29 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // sites with this subaccount ID.
 func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
 // UnmappedSite sets the optional parameter "unmappedSite": Select only
 // sites that have not been mapped to a directory site.
 func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
-	c.urlParams_.Set("unmappedSite", fmt.Sprintf("%v", unmappedSite))
+	c.opt_["unmappedSite"] = unmappedSite
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32352,13 +33376,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -32366,16 +33390,65 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acceptsInStreamVideoPlacements"]; ok {
+		params.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsInterstitialPlacements"]; ok {
+		params.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsPublisherPaidPlacements"]; ok {
+		params.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["adWordsSite"]; ok {
+		params.Set("adWordsSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["approved"]; ok {
+		params.Set("approved", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["unmappedSite"]; ok {
+		params.Set("unmappedSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32547,34 +33620,35 @@
 // method id "dfareporting.sites.patch":
 
 type SitesPatchCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing site. This method supports patch
 // semantics.
 func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
-	c := &SitesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -32587,9 +33661,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32678,32 +33757,32 @@
 // method id "dfareporting.sites.update":
 
 type SitesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing site.
 func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
-	c := &SitesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -32716,9 +33795,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32799,27 +33882,26 @@
 // method id "dfareporting.sizes.get":
 
 type SizesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one size by ID.
 func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
-	c := &SizesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32829,13 +33911,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -32843,17 +33925,21 @@
 
 func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32934,32 +34020,32 @@
 // method id "dfareporting.sizes.insert":
 
 type SizesInsertCall struct {
-	s          *Service
-	profileId  int64
-	size       *Size
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	size      *Size
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new size.
 func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
-	c := &SizesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.size = size
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -32972,9 +34058,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33055,16 +34145,15 @@
 // method id "dfareporting.sizes.list":
 
 type SizesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of sizes, possibly filtered.
 func (r *SizesService) List(profileId int64) *SizesListCall {
-	c := &SizesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -33072,40 +34161,36 @@
 // Height sets the optional parameter "height": Select only sizes with
 // this height.
 func (c *SizesListCall) Height(height int64) *SizesListCall {
-	c.urlParams_.Set("height", fmt.Sprintf("%v", height))
+	c.opt_["height"] = height
 	return c
 }
 
 // IabStandard sets the optional parameter "iabStandard": Select only
 // IAB standard sizes.
 func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
-	c.urlParams_.Set("iabStandard", fmt.Sprintf("%v", iabStandard))
+	c.opt_["iabStandard"] = iabStandard
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only sizes with these
 // IDs.
-func (c *SizesListCall) Ids(ids []int64) *SizesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SizesListCall) Ids(ids int64) *SizesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // Width sets the optional parameter "width": Select only sizes with
 // this width.
 func (c *SizesListCall) Width(width int64) *SizesListCall {
-	c.urlParams_.Set("width", fmt.Sprintf("%v", width))
+	c.opt_["width"] = width
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33115,13 +34200,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 	c.ctx_ = ctx
 	return c
@@ -33129,16 +34214,32 @@
 
 func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["height"]; ok {
+		params.Set("height", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["iabStandard"]; ok {
+		params.Set("iabStandard", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["width"]; ok {
+		params.Set("width", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33235,27 +34336,26 @@
 // method id "dfareporting.subaccounts.get":
 
 type SubaccountsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one subaccount by ID.
 func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
-	c := &SubaccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33265,13 +34365,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33279,17 +34379,21 @@
 
 func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33373,29 +34477,29 @@
 	s          *Service
 	profileId  int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new subaccount.
 func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
-	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -33408,9 +34512,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33491,42 +34599,37 @@
 // method id "dfareporting.subaccounts.list":
 
 type SubaccountsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of subaccounts, possibly filtered.
 func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
-	c := &SubaccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only subaccounts with
 // these IDs.
-func (c *SubaccountsListCall) Ids(ids []int64) *SubaccountsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SubaccountsListCall) Ids(ids int64) *SubaccountsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -33539,7 +34642,7 @@
 // string of "subaccount" will match objects with name "my subaccount",
 // "subaccount 2015", or simply "subaccount".
 func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -33550,7 +34653,7 @@
 //   "ID"
 //   "NAME"
 func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -33561,15 +34664,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33579,13 +34682,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -33593,16 +34696,38 @@
 
 func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33726,32 +34851,33 @@
 type SubaccountsPatchCall struct {
 	s          *Service
 	profileId  int64
+	id         int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing subaccount. This method supports patch
 // semantics.
 func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
-	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -33764,9 +34890,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33858,29 +34989,29 @@
 	s          *Service
 	profileId  int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing subaccount.
 func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
-	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -33893,9 +35024,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33976,25 +35111,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by ID.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34004,13 +35138,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34018,16 +35152,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34101,23 +35239,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34127,13 +35264,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -34141,14 +35278,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34210,27 +35351,26 @@
 // method id "dfareporting.userRolePermissionGroups.get":
 
 type UserRolePermissionGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role permission group by ID.
 func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
-	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34240,13 +35380,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34254,17 +35394,21 @@
 
 func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34345,25 +35489,24 @@
 // method id "dfareporting.userRolePermissionGroups.list":
 
 type UserRolePermissionGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of all supported user role permission groups.
 func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
-	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34373,13 +35516,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -34387,16 +35530,20 @@
 
 func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34470,27 +35617,26 @@
 // method id "dfareporting.userRolePermissions.get":
 
 type UserRolePermissionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role permission by ID.
 func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
-	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34500,13 +35646,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34514,17 +35660,21 @@
 
 func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34605,36 +35755,31 @@
 // method id "dfareporting.userRolePermissions.list":
 
 type UserRolePermissionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of user role permissions, possibly filtered.
 func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
-	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user role
 // permissions with these IDs.
-func (c *UserRolePermissionsListCall) Ids(ids []int64) *UserRolePermissionsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *UserRolePermissionsListCall) Ids(ids int64) *UserRolePermissionsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34644,13 +35789,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -34658,16 +35803,23 @@
 
 func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34747,32 +35899,32 @@
 // method id "dfareporting.userRoles.delete":
 
 type UserRolesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing user role.
 func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
-	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -34780,9 +35932,13 @@
 
 func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -34841,27 +35997,26 @@
 // method id "dfareporting.userRoles.get":
 
 type UserRolesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role by ID.
 func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
-	c := &UserRolesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34871,13 +36026,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34885,17 +36040,21 @@
 
 func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34976,32 +36135,32 @@
 // method id "dfareporting.userRoles.insert":
 
 type UserRolesInsertCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new user role.
 func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
-	c := &UserRolesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -35014,9 +36173,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35097,16 +36260,15 @@
 // method id "dfareporting.userRoles.list":
 
 type UserRolesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of user roles, possibly filtered.
 func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
-	c := &UserRolesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -35115,32 +36277,28 @@
 // "accountUserRoleOnly": Select only account level user roles not
 // associated with any specific subaccount.
 func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
-	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprintf("%v", accountUserRoleOnly))
+	c.opt_["accountUserRoleOnly"] = accountUserRoleOnly
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user roles with
 // the specified IDs.
-func (c *UserRolesListCall) Ids(ids []int64) *UserRolesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *UserRolesListCall) Ids(ids int64) *UserRolesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -35153,7 +36311,7 @@
 // of "userrole" will match objects with name "my userrole", "userrole
 // 2015", or simply "userrole".
 func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -35164,7 +36322,7 @@
 //   "ID"
 //   "NAME"
 func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -35175,22 +36333,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // user roles that belong to this subaccount.
 func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35200,13 +36358,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 	c.ctx_ = ctx
 	return c
@@ -35214,16 +36372,44 @@
 
 func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["accountUserRoleOnly"]; ok {
+		params.Set("accountUserRoleOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35356,34 +36542,35 @@
 // method id "dfareporting.userRoles.patch":
 
 type UserRolesPatchCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing user role. This method supports patch
 // semantics.
 func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
-	c := &UserRolesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -35396,9 +36583,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35487,32 +36679,32 @@
 // method id "dfareporting.userRoles.update":
 
 type UserRolesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing user role.
 func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
-	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -35525,9 +36717,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
diff --git a/dfareporting/v2.1/dfareporting-gen.go b/dfareporting/v2.1/dfareporting-gen.go
index bf16c7d..ff7279f 100644
--- a/dfareporting/v2.1/dfareporting-gen.go
+++ b/dfareporting/v2.1/dfareporting-gen.go
@@ -10472,24 +10472,23 @@
 	s                *Service
 	profileId        int64
 	summaryAccountId int64
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Gets the account's active ad summary by account ID.
 func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
-	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountActiveAdSummariesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.summaryAccountId = summaryAccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10499,13 +10498,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10513,17 +10512,21 @@
 
 func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":        strconv.FormatInt(c.profileId, 10),
 		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10604,27 +10607,26 @@
 // method id "dfareporting.accountPermissionGroups.get":
 
 type AccountPermissionGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account permission group by ID.
 func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
-	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10634,13 +10636,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10648,17 +10650,21 @@
 
 func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10739,25 +10745,24 @@
 // method id "dfareporting.accountPermissionGroups.list":
 
 type AccountPermissionGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of account permission groups.
 func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
-	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10767,13 +10772,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -10781,16 +10786,20 @@
 
 func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10864,27 +10873,26 @@
 // method id "dfareporting.accountPermissions.get":
 
 type AccountPermissionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account permission by ID.
 func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
-	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10894,13 +10902,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10908,17 +10916,21 @@
 
 func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10999,25 +11011,24 @@
 // method id "dfareporting.accountPermissions.list":
 
 type AccountPermissionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of account permissions.
 func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
-	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11027,13 +11038,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11041,16 +11052,20 @@
 
 func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11123,27 +11138,26 @@
 // method id "dfareporting.accountUserProfiles.get":
 
 type AccountUserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account user profile by ID.
 func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
-	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11153,13 +11167,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11167,17 +11181,21 @@
 
 func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11261,29 +11279,29 @@
 	s                  *Service
 	profileId          int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new account user profile.
 func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
-	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -11296,9 +11314,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11379,16 +11401,15 @@
 // method id "dfareporting.accountUserProfiles.list":
 
 type AccountUserProfilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of account user profiles, possibly filtered.
 func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
-	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -11396,32 +11417,28 @@
 // Active sets the optional parameter "active": Select only active user
 // profiles.
 func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user profiles with
 // these IDs.
-func (c *AccountUserProfilesListCall) Ids(ids []int64) *AccountUserProfilesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AccountUserProfilesListCall) Ids(ids int64) *AccountUserProfilesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -11435,7 +11452,7 @@
 // name "my user profile", "user profile 2015", or simply "user
 // profile".
 func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -11446,7 +11463,7 @@
 //   "ID"
 //   "NAME"
 func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -11457,29 +11474,29 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // user profiles with the specified subaccount ID.
 func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
 // UserRoleId sets the optional parameter "userRoleId": Select only user
 // profiles with the specified user role ID.
 func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("userRoleId", fmt.Sprintf("%v", userRoleId))
+	c.opt_["userRoleId"] = userRoleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11489,13 +11506,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11503,16 +11520,47 @@
 
 func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userRoleId"]; ok {
+		params.Set("userRoleId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11653,32 +11701,33 @@
 type AccountUserProfilesPatchCall struct {
 	s                  *Service
 	profileId          int64
+	id                 int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing account user profile. This method supports
 // patch semantics.
 func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
-	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -11691,9 +11740,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11785,29 +11839,29 @@
 	s                  *Service
 	profileId          int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing account user profile.
 func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
-	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11820,9 +11874,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11903,27 +11961,26 @@
 // method id "dfareporting.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account by ID.
 func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11933,13 +11990,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11947,17 +12004,21 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12038,16 +12099,15 @@
 // method id "dfareporting.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of accounts, possibly filtered.
 func (r *AccountsService) List(profileId int64) *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -12056,32 +12116,28 @@
 // accounts. Don't set this field to select both active and non-active
 // accounts.
 func (c *AccountsListCall) Active(active bool) *AccountsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only accounts with
 // these IDs.
-func (c *AccountsListCall) Ids(ids []int64) *AccountsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AccountsListCall) Ids(ids int64) *AccountsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -12094,7 +12150,7 @@
 // match objects with name "my account", "account 2015", or simply
 // "account".
 func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -12105,7 +12161,7 @@
 //   "ID"
 //   "NAME"
 func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -12116,15 +12172,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12134,13 +12190,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12148,16 +12204,41 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12284,34 +12365,35 @@
 // method id "dfareporting.accounts.patch":
 
 type AccountsPatchCall struct {
-	s          *Service
-	profileId  int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12324,9 +12406,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12415,32 +12502,32 @@
 // method id "dfareporting.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing account.
 func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -12453,9 +12540,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12536,27 +12627,26 @@
 // method id "dfareporting.ads.get":
 
 type AdsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one ad by ID.
 func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
-	c := &AdsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12566,13 +12656,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12580,17 +12670,21 @@
 
 func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12671,32 +12765,32 @@
 // method id "dfareporting.ads.insert":
 
 type AdsInsertCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new ad.
 func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
-	c := &AdsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12709,9 +12803,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12792,59 +12890,50 @@
 // method id "dfareporting.ads.list":
 
 type AdsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of ads, possibly filtered.
 func (r *AdsService) List(profileId int64) *AdsListCall {
-	c := &AdsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active ads.
 func (c *AdsListCall) Active(active bool) *AdsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // ads with this advertiser ID.
 func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // Archived sets the optional parameter "archived": Select only archived
 // ads.
 func (c *AdsListCall) Archived(archived bool) *AdsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 // Select only ads with these audience segment IDs.
-func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds []int64) *AdsListCall {
-	var audienceSegmentIds_ []string
-	for _, v := range audienceSegmentIds {
-		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
+func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds int64) *AdsListCall {
+	c.opt_["audienceSegmentIds"] = audienceSegmentIds
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // ads with these campaign IDs.
-func (c *AdsListCall) CampaignIds(campaignIds []int64) *AdsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *AdsListCall) CampaignIds(campaignIds int64) *AdsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
@@ -12863,30 +12952,22 @@
 //   "WEB"
 //   "WEB_INTERSTITIAL"
 func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
-	c.urlParams_.Set("compatibility", compatibility)
+	c.opt_["compatibility"] = compatibility
 	return c
 }
 
 // CreativeIds sets the optional parameter "creativeIds": Select only
 // ads with these creative IDs assigned.
-func (c *AdsListCall) CreativeIds(creativeIds []int64) *AdsListCall {
-	var creativeIds_ []string
-	for _, v := range creativeIds {
-		creativeIds_ = append(creativeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeIds", creativeIds_)
+func (c *AdsListCall) CreativeIds(creativeIds int64) *AdsListCall {
+	c.opt_["creativeIds"] = creativeIds
 	return c
 }
 
 // CreativeOptimizationConfigurationIds sets the optional parameter
 // "creativeOptimizationConfigurationIds": Select only ads with these
 // creative optimization configuration IDs.
-func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds []int64) *AdsListCall {
-	var creativeOptimizationConfigurationIds_ []string
-	for _, v := range creativeOptimizationConfigurationIds {
-		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
+func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds int64) *AdsListCall {
+	c.opt_["creativeOptimizationConfigurationIds"] = creativeOptimizationConfigurationIds
 	return c
 }
 
@@ -12919,7 +13000,7 @@
 //   "VPAID_LINEAR"
 //   "VPAID_NON_LINEAR"
 func (c *AdsListCall) CreativeType(creativeType string) *AdsListCall {
-	c.urlParams_.Set("creativeType", creativeType)
+	c.opt_["creativeType"] = creativeType
 	return c
 }
 
@@ -12929,36 +13010,28 @@
 // trackers. If false, select static click trackers. Leave unset to
 // select both.
 func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
-	c.urlParams_.Set("dynamicClickTracker", fmt.Sprintf("%v", dynamicClickTracker))
+	c.opt_["dynamicClickTracker"] = dynamicClickTracker
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only ads with these
 // IDs.
-func (c *AdsListCall) Ids(ids []int64) *AdsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdsListCall) Ids(ids int64) *AdsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // LandingPageIds sets the optional parameter "landingPageIds": Select
 // only ads with these landing page IDs.
-func (c *AdsListCall) LandingPageIds(landingPageIds []int64) *AdsListCall {
-	var landingPageIds_ []string
-	for _, v := range landingPageIds {
-		landingPageIds_ = append(landingPageIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
+func (c *AdsListCall) LandingPageIds(landingPageIds int64) *AdsListCall {
+	c.opt_["landingPageIds"] = landingPageIds
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12966,37 +13039,29 @@
 // "overriddenEventTagId": Select only ads with this event tag override
 // ID.
 func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
-	c.urlParams_.Set("overriddenEventTagId", fmt.Sprintf("%v", overriddenEventTagId))
+	c.opt_["overriddenEventTagId"] = overriddenEventTagId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PlacementIds sets the optional parameter "placementIds": Select only
 // ads with these placement IDs assigned.
-func (c *AdsListCall) PlacementIds(placementIds []int64) *AdsListCall {
-	var placementIds_ []string
-	for _, v := range placementIds {
-		placementIds_ = append(placementIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementIds", placementIds_)
+func (c *AdsListCall) PlacementIds(placementIds int64) *AdsListCall {
+	c.opt_["placementIds"] = placementIds
 	return c
 }
 
 // RemarketingListIds sets the optional parameter "remarketingListIds":
 // Select only ads whose list targeting expression use these remarketing
 // list IDs.
-func (c *AdsListCall) RemarketingListIds(remarketingListIds []int64) *AdsListCall {
-	var remarketingListIds_ []string
-	for _, v := range remarketingListIds {
-		remarketingListIds_ = append(remarketingListIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
+func (c *AdsListCall) RemarketingListIds(remarketingListIds int64) *AdsListCall {
+	c.opt_["remarketingListIds"] = remarketingListIds
 	return c
 }
 
@@ -13008,18 +13073,14 @@
 // string. For example, a search string of "ad" will match objects with
 // name "my ad", "ad 2015", or simply "ad".
 func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only ads with
 // these size IDs.
-func (c *AdsListCall) SizeIds(sizeIds []int64) *AdsListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *AdsListCall) SizeIds(sizeIds int64) *AdsListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -13030,7 +13091,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdsListCall) SortField(sortField string) *AdsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -13041,21 +13102,21 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SslCompliant sets the optional parameter "sslCompliant": Select only
 // ads that are SSL-compliant.
 func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
-	c.urlParams_.Set("sslCompliant", fmt.Sprintf("%v", sslCompliant))
+	c.opt_["sslCompliant"] = sslCompliant
 	return c
 }
 
 // SslRequired sets the optional parameter "sslRequired": Select only
 // ads that require SSL.
 func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
-	c.urlParams_.Set("sslRequired", fmt.Sprintf("%v", sslRequired))
+	c.opt_["sslRequired"] = sslRequired
 	return c
 }
 
@@ -13067,16 +13128,16 @@
 //   "AD_SERVING_DEFAULT_AD"
 //   "AD_SERVING_STANDARD_AD"
 //   "AD_SERVING_TRACKING"
-func (c *AdsListCall) Type(type_ []string) *AdsListCall {
-	c.urlParams_.SetMulti("type_", append([]string{}, type_...))
+func (c *AdsListCall) Type(type_ string) *AdsListCall {
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13086,13 +13147,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13100,16 +13161,92 @@
 
 func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["audienceSegmentIds"]; ok {
+		params.Set("audienceSegmentIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["compatibility"]; ok {
+		params.Set("compatibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeIds"]; ok {
+		params.Set("creativeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeOptimizationConfigurationIds"]; ok {
+		params.Set("creativeOptimizationConfigurationIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeType"]; ok {
+		params.Set("creativeType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dynamicClickTracker"]; ok {
+		params.Set("dynamicClickTracker", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["landingPageIds"]; ok {
+		params.Set("landingPageIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["overriddenEventTagId"]; ok {
+		params.Set("overriddenEventTagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementIds"]; ok {
+		params.Set("placementIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["remarketingListIds"]; ok {
+		params.Set("remarketingListIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sslCompliant"]; ok {
+		params.Set("sslCompliant", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sslRequired"]; ok {
+		params.Set("sslRequired", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13418,33 +13555,34 @@
 // method id "dfareporting.ads.patch":
 
 type AdsPatchCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing ad. This method supports patch semantics.
 func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
-	c := &AdsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -13457,9 +13595,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13548,32 +13691,32 @@
 // method id "dfareporting.ads.update":
 
 type AdsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing ad.
 func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
-	c := &AdsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13586,9 +13729,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13669,32 +13816,32 @@
 // method id "dfareporting.advertiserGroups.delete":
 
 type AdvertiserGroupsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing advertiser group.
 func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
-	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13702,9 +13849,13 @@
 
 func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13763,27 +13914,26 @@
 // method id "dfareporting.advertiserGroups.get":
 
 type AdvertiserGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one advertiser group by ID.
 func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
-	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13793,13 +13943,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13807,17 +13957,21 @@
 
 func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13901,29 +14055,29 @@
 	s               *Service
 	profileId       int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new advertiser group.
 func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
-	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13936,9 +14090,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14019,42 +14177,37 @@
 // method id "dfareporting.advertiserGroups.list":
 
 type AdvertiserGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of advertiser groups, possibly filtered.
 func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
-	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only advertiser groups
 // with these IDs.
-func (c *AdvertiserGroupsListCall) Ids(ids []int64) *AdvertiserGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdvertiserGroupsListCall) Ids(ids int64) *AdvertiserGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14068,7 +14221,7 @@
 // with name "my advertisergroup", "advertisergroup 2015", or simply
 // "advertisergroup".
 func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -14079,7 +14232,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -14090,15 +14243,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14108,13 +14261,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -14122,16 +14275,38 @@
 
 func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14255,32 +14430,33 @@
 type AdvertiserGroupsPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing advertiser group. This method supports
 // patch semantics.
 func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
-	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -14293,9 +14469,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14387,29 +14568,29 @@
 	s               *Service
 	profileId       int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing advertiser group.
 func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
-	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -14422,9 +14603,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14505,27 +14690,26 @@
 // method id "dfareporting.advertisers.get":
 
 type AdvertisersGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one advertiser by ID.
 func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
-	c := &AdvertisersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14535,13 +14719,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -14549,17 +14733,21 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14643,29 +14831,29 @@
 	s          *Service
 	profileId  int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new advertiser.
 func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
-	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14678,9 +14866,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14761,51 +14953,38 @@
 // method id "dfareporting.advertisers.list":
 
 type AdvertisersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of advertisers, possibly filtered.
 func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
-	c := &AdvertisersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 // Select only advertisers with these advertiser group IDs.
-func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds []int64) *AdvertisersListCall {
-	var advertiserGroupIds_ []string
-	for _, v := range advertiserGroupIds {
-		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
+func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds int64) *AdvertisersListCall {
+	c.opt_["advertiserGroupIds"] = advertiserGroupIds
 	return c
 }
 
 // FloodlightConfigurationIds sets the optional parameter
 // "floodlightConfigurationIds": Select only advertisers with these
 // floodlight configuration IDs.
-func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds []int64) *AdvertisersListCall {
-	var floodlightConfigurationIds_ []string
-	for _, v := range floodlightConfigurationIds {
-		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
+func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds int64) *AdvertisersListCall {
+	c.opt_["floodlightConfigurationIds"] = floodlightConfigurationIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only advertisers with
 // these IDs.
-func (c *AdvertisersListCall) Ids(ids []int64) *AdvertisersListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdvertisersListCall) Ids(ids int64) *AdvertisersListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -14813,28 +14992,28 @@
 // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 // do not belong to any advertiser group.
 func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
-	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprintf("%v", includeAdvertisersWithoutGroupsOnly))
+	c.opt_["includeAdvertisersWithoutGroupsOnly"] = includeAdvertisersWithoutGroupsOnly
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OnlyParent sets the optional parameter "onlyParent": Select only
 // advertisers which use another advertiser's floodlight configuration.
 func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
-	c.urlParams_.Set("onlyParent", fmt.Sprintf("%v", onlyParent))
+	c.opt_["onlyParent"] = onlyParent
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14847,7 +15026,7 @@
 // string of "advertiser" will match objects with name "my advertiser",
 // "advertiser 2015", or simply "advertiser".
 func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -14858,7 +15037,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -14869,7 +15048,7 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -14880,22 +15059,22 @@
 //   "APPROVED"
 //   "ON_HOLD"
 func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
-	c.urlParams_.Set("status", status)
+	c.opt_["status"] = status
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // advertisers with these subaccount IDs.
 func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14905,13 +15084,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 	c.ctx_ = ctx
 	return c
@@ -14919,16 +15098,56 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserGroupIds"]; ok {
+		params.Set("advertiserGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationIds"]; ok {
+		params.Set("floodlightConfigurationIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeAdvertisersWithoutGroupsOnly"]; ok {
+		params.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onlyParent"]; ok {
+		params.Set("onlyParent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15095,32 +15314,33 @@
 type AdvertisersPatchCall struct {
 	s          *Service
 	profileId  int64
+	id         int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing advertiser. This method supports patch
 // semantics.
 func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
-	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -15133,9 +15353,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -15227,29 +15452,29 @@
 	s          *Service
 	profileId  int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing advertiser.
 func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
-	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -15262,9 +15487,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -15345,25 +15574,24 @@
 // method id "dfareporting.browsers.list":
 
 type BrowsersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of browsers.
 func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
-	c := &BrowsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BrowsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15373,13 +15601,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -15387,16 +15615,20 @@
 
 func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15473,7 +15705,7 @@
 	profileId                   int64
 	campaignId                  int64
 	campaigncreativeassociation *CampaignCreativeAssociation
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
@@ -15481,24 +15713,24 @@
 // method creates a default ad with dimensions matching the creative in
 // the campaign if such a default ad does not exist already.
 func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
-	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignCreativeAssociationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.campaigncreativeassociation = campaigncreativeassociation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15511,9 +15743,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -15603,18 +15839,17 @@
 // method id "dfareporting.campaignCreativeAssociations.list":
 
 type CampaignCreativeAssociationsListCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieves the list of creative IDs associated with the
 // specified campaign.
 func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
-	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignCreativeAssociationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	return c
@@ -15623,14 +15858,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -15641,15 +15876,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15659,13 +15894,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -15673,17 +15908,30 @@
 
 func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
 		"campaignId": strconv.FormatInt(c.campaignId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15790,27 +16038,26 @@
 // method id "dfareporting.campaigns.get":
 
 type CampaignsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one campaign by ID.
 func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
-	c := &CampaignsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15820,13 +16067,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -15834,17 +16081,21 @@
 
 func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15925,34 +16176,36 @@
 // method id "dfareporting.campaigns.insert":
 
 type CampaignsInsertCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                      *Service
+	profileId              int64
+	defaultLandingPageName string
+	defaultLandingPageUrl  string
+	campaign               *Campaign
+	opt_                   map[string]interface{}
+	ctx_                   context.Context
 }
 
 // Insert: Inserts a new campaign.
 func (r *CampaignsService) Insert(profileId int64, defaultLandingPageName string, defaultLandingPageUrl string, campaign *Campaign) *CampaignsInsertCall {
-	c := &CampaignsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("defaultLandingPageName", defaultLandingPageName)
-	c.urlParams_.Set("defaultLandingPageUrl", defaultLandingPageUrl)
+	c.defaultLandingPageName = defaultLandingPageName
+	c.defaultLandingPageUrl = defaultLandingPageUrl
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15965,9 +16218,15 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("defaultLandingPageName", fmt.Sprintf("%v", c.defaultLandingPageName))
+	params.Set("defaultLandingPageUrl", fmt.Sprintf("%v", c.defaultLandingPageUrl))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16062,16 +16321,15 @@
 // method id "dfareporting.campaigns.list":
 
 type CampaignsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of campaigns, possibly filtered.
 func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
-	c := &CampaignsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -16079,23 +16337,15 @@
 // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 // Select only campaigns whose advertisers belong to these advertiser
 // groups.
-func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds []int64) *CampaignsListCall {
-	var advertiserGroupIds_ []string
-	for _, v := range advertiserGroupIds {
-		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
+func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds int64) *CampaignsListCall {
+	c.opt_["advertiserGroupIds"] = advertiserGroupIds
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only campaigns that belong to these advertisers.
-func (c *CampaignsListCall) AdvertiserIds(advertiserIds []int64) *CampaignsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CampaignsListCall) AdvertiserIds(advertiserIds int64) *CampaignsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -16103,7 +16353,7 @@
 // campaigns. Don't set this field to select both archived and
 // non-archived campaigns.
 func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
@@ -16111,36 +16361,28 @@
 // "atLeastOneOptimizationActivity": Select only campaigns that have at
 // least one optimization activity.
 func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
-	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprintf("%v", atLeastOneOptimizationActivity))
+	c.opt_["atLeastOneOptimizationActivity"] = atLeastOneOptimizationActivity
 	return c
 }
 
 // ExcludedIds sets the optional parameter "excludedIds": Exclude
 // campaigns with these IDs.
-func (c *CampaignsListCall) ExcludedIds(excludedIds []int64) *CampaignsListCall {
-	var excludedIds_ []string
-	for _, v := range excludedIds {
-		excludedIds_ = append(excludedIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("excludedIds", excludedIds_)
+func (c *CampaignsListCall) ExcludedIds(excludedIds int64) *CampaignsListCall {
+	c.opt_["excludedIds"] = excludedIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only campaigns with
 // these IDs.
-func (c *CampaignsListCall) Ids(ids []int64) *CampaignsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CampaignsListCall) Ids(ids int64) *CampaignsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16148,14 +16390,14 @@
 // "overriddenEventTagId": Select only campaigns that have overridden
 // this event tag ID.
 func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
-	c.urlParams_.Set("overriddenEventTagId", fmt.Sprintf("%v", overriddenEventTagId))
+	c.opt_["overriddenEventTagId"] = overriddenEventTagId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -16168,7 +16410,7 @@
 // of "campaign" will match campaigns with name "my campaign", "campaign
 // 2015", or simply "campaign".
 func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -16179,7 +16421,7 @@
 //   "ID"
 //   "NAME"
 func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -16190,22 +16432,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // campaigns that belong to this subaccount.
 func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16215,13 +16457,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 	c.ctx_ = ctx
 	return c
@@ -16229,16 +16471,59 @@
 
 func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserGroupIds"]; ok {
+		params.Set("advertiserGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["atLeastOneOptimizationActivity"]; ok {
+		params.Set("atLeastOneOptimizationActivity", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["excludedIds"]; ok {
+		params.Set("excludedIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["overriddenEventTagId"]; ok {
+		params.Set("overriddenEventTagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16403,34 +16688,35 @@
 // method id "dfareporting.campaigns.patch":
 
 type CampaignsPatchCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	campaign  *Campaign
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing campaign. This method supports patch
 // semantics.
 func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
-	c := &CampaignsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -16443,9 +16729,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16534,32 +16825,32 @@
 // method id "dfareporting.campaigns.update":
 
 type CampaignsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	campaign  *Campaign
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing campaign.
 func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
-	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -16572,9 +16863,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16655,27 +16950,26 @@
 // method id "dfareporting.changeLogs.get":
 
 type ChangeLogsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one change log by ID.
 func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
-	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangeLogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16685,13 +16979,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -16699,17 +16993,21 @@
 
 func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16790,16 +17088,15 @@
 // method id "dfareporting.changeLogs.list":
 
 type ChangeLogsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of change logs.
 func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
-	c := &ChangeLogsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangeLogsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -16826,18 +17123,14 @@
 //   "ACTION_UNLINK"
 //   "ACTION_UPDATE"
 func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
-	c.urlParams_.Set("action", action)
+	c.opt_["action"] = action
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only change logs with
 // these IDs.
-func (c *ChangeLogsListCall) Ids(ids []int64) *ChangeLogsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ChangeLogsListCall) Ids(ids int64) *ChangeLogsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -16850,14 +17143,14 @@
 // the letter T, the hour (24-hour clock system), minute, second, and
 // then the time zone offset.
 func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
-	c.urlParams_.Set("maxChangeTime", maxChangeTime)
+	c.opt_["maxChangeTime"] = maxChangeTime
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16870,18 +17163,14 @@
 // the letter T, the hour (24-hour clock system), minute, second, and
 // then the time zone offset.
 func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
-	c.urlParams_.Set("minChangeTime", minChangeTime)
+	c.opt_["minChangeTime"] = minChangeTime
 	return c
 }
 
 // ObjectIds sets the optional parameter "objectIds": Select only change
 // logs with these object IDs.
-func (c *ChangeLogsListCall) ObjectIds(objectIds []int64) *ChangeLogsListCall {
-	var objectIds_ []string
-	for _, v := range objectIds {
-		objectIds_ = append(objectIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("objectIds", objectIds_)
+func (c *ChangeLogsListCall) ObjectIds(objectIds int64) *ChangeLogsListCall {
+	c.opt_["objectIds"] = objectIds
 	return c
 }
 
@@ -16926,14 +17215,14 @@
 //   "OBJECT_USER_PROFILE_FILTER"
 //   "OBJECT_USER_ROLE"
 func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
-	c.urlParams_.Set("objectType", objectType)
+	c.opt_["objectType"] = objectType
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -16941,26 +17230,22 @@
 // change logs whose object ID, user name, old or new values match the
 // search string.
 func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // UserProfileIds sets the optional parameter "userProfileIds": Select
 // only change logs with these user profile IDs.
-func (c *ChangeLogsListCall) UserProfileIds(userProfileIds []int64) *ChangeLogsListCall {
-	var userProfileIds_ []string
-	for _, v := range userProfileIds {
-		userProfileIds_ = append(userProfileIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
+func (c *ChangeLogsListCall) UserProfileIds(userProfileIds int64) *ChangeLogsListCall {
+	c.opt_["userProfileIds"] = userProfileIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16970,13 +17255,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 	c.ctx_ = ctx
 	return c
@@ -16984,16 +17269,50 @@
 
 func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["action"]; ok {
+		params.Set("action", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxChangeTime"]; ok {
+		params.Set("maxChangeTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minChangeTime"]; ok {
+		params.Set("minChangeTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["objectIds"]; ok {
+		params.Set("objectIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["objectType"]; ok {
+		params.Set("objectType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userProfileIds"]; ok {
+		params.Set("userProfileIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17237,65 +17556,52 @@
 // method id "dfareporting.cities.list":
 
 type CitiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of cities, possibly filtered.
 func (r *CitiesService) List(profileId int64) *CitiesListCall {
-	c := &CitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // CountryDartIds sets the optional parameter "countryDartIds": Select
 // only cities from these countries.
-func (c *CitiesListCall) CountryDartIds(countryDartIds []int64) *CitiesListCall {
-	var countryDartIds_ []string
-	for _, v := range countryDartIds {
-		countryDartIds_ = append(countryDartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
+func (c *CitiesListCall) CountryDartIds(countryDartIds int64) *CitiesListCall {
+	c.opt_["countryDartIds"] = countryDartIds
 	return c
 }
 
 // DartIds sets the optional parameter "dartIds": Select only cities
 // with these DART IDs.
-func (c *CitiesListCall) DartIds(dartIds []int64) *CitiesListCall {
-	var dartIds_ []string
-	for _, v := range dartIds {
-		dartIds_ = append(dartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("dartIds", dartIds_)
+func (c *CitiesListCall) DartIds(dartIds int64) *CitiesListCall {
+	c.opt_["dartIds"] = dartIds
 	return c
 }
 
 // NamePrefix sets the optional parameter "namePrefix": Select only
 // cities with names starting with this prefix.
 func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
-	c.urlParams_.Set("namePrefix", namePrefix)
+	c.opt_["namePrefix"] = namePrefix
 	return c
 }
 
 // RegionDartIds sets the optional parameter "regionDartIds": Select
 // only cities from these regions.
-func (c *CitiesListCall) RegionDartIds(regionDartIds []int64) *CitiesListCall {
-	var regionDartIds_ []string
-	for _, v := range regionDartIds {
-		regionDartIds_ = append(regionDartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
+func (c *CitiesListCall) RegionDartIds(regionDartIds int64) *CitiesListCall {
+	c.opt_["regionDartIds"] = regionDartIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17305,13 +17611,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -17319,16 +17625,32 @@
 
 func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["countryDartIds"]; ok {
+		params.Set("countryDartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dartIds"]; ok {
+		params.Set("dartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["namePrefix"]; ok {
+		params.Set("namePrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionDartIds"]; ok {
+		params.Set("regionDartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17427,27 +17749,26 @@
 // method id "dfareporting.connectionTypes.get":
 
 type ConnectionTypesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one connection type by ID.
 func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
-	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConnectionTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17457,13 +17778,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17471,17 +17792,21 @@
 
 func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17562,25 +17887,24 @@
 // method id "dfareporting.connectionTypes.list":
 
 type ConnectionTypesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of connection types.
 func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
-	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConnectionTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17590,13 +17914,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -17604,16 +17928,20 @@
 
 func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17686,32 +18014,32 @@
 // method id "dfareporting.contentCategories.delete":
 
 type ContentCategoriesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing content category.
 func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
-	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -17719,9 +18047,13 @@
 
 func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -17780,27 +18112,26 @@
 // method id "dfareporting.contentCategories.get":
 
 type ContentCategoriesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one content category by ID.
 func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
-	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17810,13 +18141,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17824,17 +18155,21 @@
 
 func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17918,29 +18253,29 @@
 	s               *Service
 	profileId       int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new content category.
 func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
-	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17953,9 +18288,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18036,42 +18375,37 @@
 // method id "dfareporting.contentCategories.list":
 
 type ContentCategoriesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of content categories, possibly filtered.
 func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
-	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only content categories
 // with these IDs.
-func (c *ContentCategoriesListCall) Ids(ids []int64) *ContentCategoriesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ContentCategoriesListCall) Ids(ids int64) *ContentCategoriesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -18085,7 +18419,7 @@
 // name "my contentcategory", "contentcategory 2015", or simply
 // "contentcategory".
 func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -18096,7 +18430,7 @@
 //   "ID"
 //   "NAME"
 func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -18107,15 +18441,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18125,13 +18459,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -18139,16 +18473,38 @@
 
 func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18272,32 +18628,33 @@
 type ContentCategoriesPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing content category. This method supports
 // patch semantics.
 func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
-	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -18310,9 +18667,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18404,29 +18766,29 @@
 	s               *Service
 	profileId       int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing content category.
 func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
-	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -18439,9 +18801,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18522,27 +18888,26 @@
 // method id "dfareporting.countries.get":
 
 type CountriesGetCall struct {
-	s            *Service
-	profileId    int64
-	dartId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	dartId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one country by ID.
 func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
-	c := &CountriesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CountriesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dartId = dartId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18552,13 +18917,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -18566,17 +18931,21 @@
 
 func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"dartId":    strconv.FormatInt(c.dartId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18657,25 +19026,24 @@
 // method id "dfareporting.countries.list":
 
 type CountriesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of countries.
 func (r *CountriesService) List(profileId int64) *CountriesListCall {
-	c := &CountriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CountriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18685,13 +19053,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -18699,16 +19067,20 @@
 
 func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18785,38 +19157,37 @@
 	profileId             int64
 	advertiserId          int64
 	creativeassetmetadata *CreativeAssetMetadata
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	media_                io.Reader
 	resumable_            googleapi.SizeReaderAt
 	mediaType_            string
 	protocol_             string
-	progressUpdater_      googleapi.ProgressUpdater
 	ctx_                  context.Context
 }
 
 // Insert: Inserts a new creative asset.
 func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
-	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeAssetsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiserId = advertiserId
 	c.creativeassetmetadata = creativeassetmetadata
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *CreativeAssetsInsertCall) Media(r io.Reader) *CreativeAssetsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -18825,28 +19196,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -18859,13 +19229,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -18919,6 +19293,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -18928,7 +19308,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -19008,30 +19388,30 @@
 	profileId       int64
 	creativeFieldId int64
 	id              int64
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes an existing creative field value.
 func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
-	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -19039,9 +19419,13 @@
 
 func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19113,25 +19497,24 @@
 	profileId       int64
 	creativeFieldId int64
 	id              int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets one creative field value by ID.
 func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
-	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19141,13 +19524,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -19155,9 +19538,13 @@
 
 func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19165,8 +19552,8 @@
 		"id":              strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19259,30 +19646,30 @@
 	profileId          int64
 	creativeFieldId    int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new creative field value.
 func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
-	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -19295,9 +19682,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19390,14 +19781,13 @@
 	s               *Service
 	profileId       int64
 	creativeFieldId int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: Retrieves a list of creative field values, possibly filtered.
 func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
-	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	return c
@@ -19405,26 +19795,22 @@
 
 // Ids sets the optional parameter "ids": Select only creative field
 // values with these IDs.
-func (c *CreativeFieldValuesListCall) Ids(ids []int64) *CreativeFieldValuesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeFieldValuesListCall) Ids(ids int64) *CreativeFieldValuesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -19432,7 +19818,7 @@
 // searching for creative field values by their values. Wildcards (e.g.
 // *) are not allowed.
 func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -19443,7 +19829,7 @@
 //   "ID"
 //   "VALUE"
 func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -19454,15 +19840,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19472,13 +19858,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 	c.ctx_ = ctx
 	return c
@@ -19486,17 +19872,39 @@
 
 func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
 		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19629,33 +20037,34 @@
 	s                  *Service
 	profileId          int64
 	creativeFieldId    int64
+	id                 int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing creative field value. This method supports
 // patch semantics.
 func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
-	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -19668,9 +20077,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19772,30 +20186,30 @@
 	profileId          int64
 	creativeFieldId    int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing creative field value.
 func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
-	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -19808,9 +20222,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19900,32 +20318,32 @@
 // method id "dfareporting.creativeFields.delete":
 
 type CreativeFieldsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing creative field.
 func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
-	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -19933,9 +20351,13 @@
 
 func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -19994,27 +20416,26 @@
 // method id "dfareporting.creativeFields.get":
 
 type CreativeFieldsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative field by ID.
 func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
-	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20024,13 +20445,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -20038,17 +20459,21 @@
 
 func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20132,29 +20557,29 @@
 	s             *Service
 	profileId     int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new creative field.
 func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
-	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -20167,9 +20592,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20250,53 +20679,44 @@
 // method id "dfareporting.creativeFields.list":
 
 type CreativeFieldsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creative fields, possibly filtered.
 func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
-	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only creative fields that belong to these advertisers.
-func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds []int64) *CreativeFieldsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds int64) *CreativeFieldsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creative fields
 // with these IDs.
-func (c *CreativeFieldsListCall) Ids(ids []int64) *CreativeFieldsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeFieldsListCall) Ids(ids int64) *CreativeFieldsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -20310,7 +20730,7 @@
 // creative fields with the name "my creativefield", "creativefield
 // 2015", or simply "creativefield".
 func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -20321,7 +20741,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -20332,15 +20752,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20350,13 +20770,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 	c.ctx_ = ctx
 	return c
@@ -20364,16 +20784,41 @@
 
 func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20504,32 +20949,33 @@
 type CreativeFieldsPatchCall struct {
 	s             *Service
 	profileId     int64
+	id            int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing creative field. This method supports patch
 // semantics.
 func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
-	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -20542,9 +20988,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20636,29 +21087,29 @@
 	s             *Service
 	profileId     int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing creative field.
 func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
-	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -20671,9 +21122,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20754,27 +21209,26 @@
 // method id "dfareporting.creativeGroups.get":
 
 type CreativeGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative group by ID.
 func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
-	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20784,13 +21238,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -20798,17 +21252,21 @@
 
 func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20892,29 +21350,29 @@
 	s             *Service
 	profileId     int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new creative group.
 func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
-	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -20927,9 +21385,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21010,60 +21472,51 @@
 // method id "dfareporting.creativeGroups.list":
 
 type CreativeGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creative groups, possibly filtered.
 func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
-	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only creative groups that belong to these advertisers.
-func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds []int64) *CreativeGroupsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds int64) *CreativeGroupsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // GroupNumber sets the optional parameter "groupNumber": Select only
 // creative groups that belong to this subgroup.
 func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
-	c.urlParams_.Set("groupNumber", fmt.Sprintf("%v", groupNumber))
+	c.opt_["groupNumber"] = groupNumber
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creative groups
 // with these IDs.
-func (c *CreativeGroupsListCall) Ids(ids []int64) *CreativeGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeGroupsListCall) Ids(ids int64) *CreativeGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -21077,7 +21530,7 @@
 // creative groups with the name "my creativegroup", "creativegroup
 // 2015", or simply "creativegroup".
 func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -21088,7 +21541,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -21099,15 +21552,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21117,13 +21570,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -21131,16 +21584,44 @@
 
 func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupNumber"]; ok {
+		params.Set("groupNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21277,32 +21758,33 @@
 type CreativeGroupsPatchCall struct {
 	s             *Service
 	profileId     int64
+	id            int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing creative group. This method supports patch
 // semantics.
 func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
-	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -21315,9 +21797,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21409,29 +21896,29 @@
 	s             *Service
 	profileId     int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing creative group.
 func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
-	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -21444,9 +21931,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21527,27 +22018,26 @@
 // method id "dfareporting.creatives.get":
 
 type CreativesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative by ID.
 func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
-	c := &CreativesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21557,13 +22047,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -21571,17 +22061,21 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21662,32 +22156,32 @@
 // method id "dfareporting.creatives.insert":
 
 type CreativesInsertCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new creative.
 func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
-	c := &CreativesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -21700,9 +22194,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21783,16 +22281,15 @@
 // method id "dfareporting.creatives.list":
 
 type CreativesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creatives, possibly filtered.
 func (r *CreativesService) List(profileId int64) *CreativesListCall {
-	c := &CreativesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -21800,87 +22297,71 @@
 // Active sets the optional parameter "active": Select only active
 // creatives. Leave blank to select active and inactive creatives.
 func (c *CreativesListCall) Active(active bool) *CreativesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // creatives with this advertiser ID.
 func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // Archived sets the optional parameter "archived": Select only archived
 // creatives. Leave blank to select archived and unarchived creatives.
 func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Select only
 // creatives with this campaign ID.
 func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // CompanionCreativeIds sets the optional parameter
 // "companionCreativeIds": Select only in-stream video creatives with
 // these companion IDs.
-func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds []int64) *CreativesListCall {
-	var companionCreativeIds_ []string
-	for _, v := range companionCreativeIds {
-		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
+func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds int64) *CreativesListCall {
+	c.opt_["companionCreativeIds"] = companionCreativeIds
 	return c
 }
 
 // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 // Select only creatives with these creative field IDs.
-func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds []int64) *CreativesListCall {
-	var creativeFieldIds_ []string
-	for _, v := range creativeFieldIds {
-		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
+func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds int64) *CreativesListCall {
+	c.opt_["creativeFieldIds"] = creativeFieldIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creatives with
 // these IDs.
-func (c *CreativesListCall) Ids(ids []int64) *CreativesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativesListCall) Ids(ids int64) *CreativesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // RenderingIds sets the optional parameter "renderingIds": Select only
 // creatives with these rendering IDs.
-func (c *CreativesListCall) RenderingIds(renderingIds []int64) *CreativesListCall {
-	var renderingIds_ []string
-	for _, v := range renderingIds {
-		renderingIds_ = append(renderingIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("renderingIds", renderingIds_)
+func (c *CreativesListCall) RenderingIds(renderingIds int64) *CreativesListCall {
+	c.opt_["renderingIds"] = renderingIds
 	return c
 }
 
@@ -21893,18 +22374,14 @@
 // of "creative" will match objects with name "my creative", "creative
 // 2015", or simply "creative".
 func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only creatives
 // with these size IDs.
-func (c *CreativesListCall) SizeIds(sizeIds []int64) *CreativesListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *CreativesListCall) SizeIds(sizeIds int64) *CreativesListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -21915,7 +22392,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -21926,14 +22403,14 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // StudioCreativeId sets the optional parameter "studioCreativeId":
 // Select only creatives corresponding to this Studio creative ID.
 func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
-	c.urlParams_.Set("studioCreativeId", fmt.Sprintf("%v", studioCreativeId))
+	c.opt_["studioCreativeId"] = studioCreativeId
 	return c
 }
 
@@ -21965,16 +22442,16 @@
 //   "VAST_REDIRECT"
 //   "VPAID_LINEAR"
 //   "VPAID_NON_LINEAR"
-func (c *CreativesListCall) Types(types []string) *CreativesListCall {
-	c.urlParams_.SetMulti("types", append([]string{}, types...))
+func (c *CreativesListCall) Types(types string) *CreativesListCall {
+	c.opt_["types"] = types
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21984,13 +22461,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 	c.ctx_ = ctx
 	return c
@@ -21998,16 +22475,68 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["companionCreativeIds"]; ok {
+		params.Set("companionCreativeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeFieldIds"]; ok {
+		params.Set("creativeFieldIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["renderingIds"]; ok {
+		params.Set("renderingIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioCreativeId"]; ok {
+		params.Set("studioCreativeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["types"]; ok {
+		params.Set("types", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22243,34 +22772,35 @@
 // method id "dfareporting.creatives.patch":
 
 type CreativesPatchCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing creative. This method supports patch
 // semantics.
 func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
-	c := &CreativesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -22283,9 +22813,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22374,32 +22909,32 @@
 // method id "dfareporting.creatives.update":
 
 type CreativesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing creative.
 func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
-	c := &CreativesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -22412,9 +22947,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22498,14 +23037,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -22514,28 +23053,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -22548,9 +23087,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22644,27 +23193,26 @@
 // method id "dfareporting.directorySiteContacts.get":
 
 type DirectorySiteContactsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one directory site contact by ID.
 func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
-	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySiteContactsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22674,13 +23222,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -22688,17 +23236,21 @@
 
 func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22779,16 +23331,15 @@
 // method id "dfareporting.directorySiteContacts.list":
 
 type DirectorySiteContactsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of directory site contacts, possibly filtered.
 func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
-	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySiteContactsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -22796,37 +23347,29 @@
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only directory site contacts with these directory site IDs.
 // This is a required field.
-func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds []int64) *DirectorySiteContactsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds int64) *DirectorySiteContactsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only directory site
 // contacts with these IDs.
-func (c *DirectorySiteContactsListCall) Ids(ids []int64) *DirectorySiteContactsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *DirectorySiteContactsListCall) Ids(ids int64) *DirectorySiteContactsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -22841,7 +23384,7 @@
 // directory site contact", "directory site contact 2015", or simply
 // "directory site contact".
 func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -22852,7 +23395,7 @@
 //   "ID"
 //   "NAME"
 func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -22863,15 +23406,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22881,13 +23424,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
 	c.ctx_ = ctx
 	return c
@@ -22895,16 +23438,41 @@
 
 func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23034,27 +23602,26 @@
 // method id "dfareporting.directorySites.get":
 
 type DirectorySitesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one directory site by ID.
 func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
-	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23064,13 +23631,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23078,17 +23645,21 @@
 
 func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23172,29 +23743,29 @@
 	s             *Service
 	profileId     int64
 	directorysite *DirectorySite
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new directory site.
 func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
-	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.directorysite = directorysite
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -23207,9 +23778,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23290,16 +23865,15 @@
 // method id "dfareporting.directorySites.list":
 
 type DirectorySitesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of directory sites, possibly filtered.
 func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
-	c := &DirectorySitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -23308,7 +23882,7 @@
 // "acceptsInStreamVideoPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", acceptsInStreamVideoPlacements))
+	c.opt_["acceptsInStreamVideoPlacements"] = acceptsInStreamVideoPlacements
 	return c
 }
 
@@ -23316,7 +23890,7 @@
 // "acceptsInterstitialPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", acceptsInterstitialPlacements))
+	c.opt_["acceptsInterstitialPlacements"] = acceptsInterstitialPlacements
 	return c
 }
 
@@ -23324,7 +23898,7 @@
 // "acceptsPublisherPaidPlacements": Select only directory sites that
 // accept publisher paid placements. This field can be left blank.
 func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", acceptsPublisherPaidPlacements))
+	c.opt_["acceptsPublisherPaidPlacements"] = acceptsPublisherPaidPlacements
 	return c
 }
 
@@ -23332,53 +23906,49 @@
 // directory sites. Leave blank to retrieve both active and inactive
 // directory sites.
 func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // CountryId sets the optional parameter "countryId": Select only
 // directory sites with this country ID.
 func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
-	c.urlParams_.Set("countryId", fmt.Sprintf("%v", countryId))
+	c.opt_["countryId"] = countryId
 	return c
 }
 
 // DfpNetworkCode sets the optional parameter "dfp_network_code": Select
 // only directory sites with this DFP network code.
 func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
-	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
+	c.opt_["dfp_network_code"] = dfpNetworkCode
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only directory sites
 // with these IDs.
-func (c *DirectorySitesListCall) Ids(ids []int64) *DirectorySitesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *DirectorySitesListCall) Ids(ids int64) *DirectorySitesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // ParentId sets the optional parameter "parentId": Select only
 // directory sites with this parent ID.
 func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
-	c.urlParams_.Set("parentId", fmt.Sprintf("%v", parentId))
+	c.opt_["parentId"] = parentId
 	return c
 }
 
@@ -23392,7 +23962,7 @@
 // name "my directory site", "directory site 2015" or simply, "directory
 // site".
 func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -23403,7 +23973,7 @@
 //   "ID"
 //   "NAME"
 func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -23414,15 +23984,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23432,13 +24002,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -23446,16 +24016,59 @@
 
 func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acceptsInStreamVideoPlacements"]; ok {
+		params.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsInterstitialPlacements"]; ok {
+		params.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsPublisherPaidPlacements"]; ok {
+		params.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["countryId"]; ok {
+		params.Set("countryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dfp_network_code"]; ok {
+		params.Set("dfp_network_code", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["parentId"]; ok {
+		params.Set("parentId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23614,32 +24227,32 @@
 // method id "dfareporting.eventTags.delete":
 
 type EventTagsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing event tag.
 func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
-	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -23647,9 +24260,13 @@
 
 func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23708,27 +24325,26 @@
 // method id "dfareporting.eventTags.get":
 
 type EventTagsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one event tag by ID.
 func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
-	c := &EventTagsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23738,13 +24354,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23752,17 +24368,21 @@
 
 func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23843,32 +24463,32 @@
 // method id "dfareporting.eventTags.insert":
 
 type EventTagsInsertCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new event tag.
 func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
-	c := &EventTagsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -23881,9 +24501,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23964,16 +24588,15 @@
 // method id "dfareporting.eventTags.list":
 
 type EventTagsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of event tags, possibly filtered.
 func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
-	c := &EventTagsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -23981,21 +24604,21 @@
 // AdId sets the optional parameter "adId": Select only event tags that
 // belong to this ad.
 func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
-	c.urlParams_.Set("adId", fmt.Sprintf("%v", adId))
+	c.opt_["adId"] = adId
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // event tags that belong to this advertiser.
 func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Select only
 // event tags that belong to this campaign.
 func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
@@ -24008,7 +24631,7 @@
 // be set to true when adId is specified as ads do not define their own
 // even tags.
 func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
-	c.urlParams_.Set("definitionsOnly", fmt.Sprintf("%v", definitionsOnly))
+	c.opt_["definitionsOnly"] = definitionsOnly
 	return c
 }
 
@@ -24021,7 +24644,7 @@
 // campaign's event tags' enabledByDefault and status fields are
 // examined as well.
 func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
-	c.urlParams_.Set("enabled", fmt.Sprintf("%v", enabled))
+	c.opt_["enabled"] = enabled
 	return c
 }
 
@@ -24035,19 +24658,15 @@
 //   "CLICK_THROUGH_EVENT_TAG"
 //   "IMPRESSION_IMAGE_EVENT_TAG"
 //   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
-func (c *EventTagsListCall) EventTagTypes(eventTagTypes []string) *EventTagsListCall {
-	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
+func (c *EventTagsListCall) EventTagTypes(eventTagTypes string) *EventTagsListCall {
+	c.opt_["eventTagTypes"] = eventTagTypes
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only event tags with
 // these IDs.
-func (c *EventTagsListCall) Ids(ids []int64) *EventTagsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *EventTagsListCall) Ids(ids int64) *EventTagsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -24060,7 +24679,7 @@
 // of "eventtag" will match objects with name "my eventtag", "eventtag
 // 2015", or simply "eventtag".
 func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -24071,7 +24690,7 @@
 //   "ID"
 //   "NAME"
 func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -24082,15 +24701,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24100,13 +24719,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 	c.ctx_ = ctx
 	return c
@@ -24114,16 +24733,50 @@
 
 func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["adId"]; ok {
+		params.Set("adId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["definitionsOnly"]; ok {
+		params.Set("definitionsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["enabled"]; ok {
+		params.Set("enabled", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventTagTypes"]; ok {
+		params.Set("eventTagTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24278,34 +24931,35 @@
 // method id "dfareporting.eventTags.patch":
 
 type EventTagsPatchCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing event tag. This method supports patch
 // semantics.
 func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
-	c := &EventTagsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -24318,9 +24972,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24409,32 +25068,32 @@
 // method id "dfareporting.eventTags.update":
 
 type EventTagsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing event tag.
 func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
-	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -24447,9 +25106,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24530,27 +25193,26 @@
 // method id "dfareporting.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	reportId int64
+	fileId   int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a report file by its report ID and file ID.
 func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24560,13 +25222,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -24574,17 +25236,21 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId": strconv.FormatInt(c.reportId, 10),
 		"fileId":   strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24681,16 +25347,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -24698,14 +25363,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -24717,7 +25382,7 @@
 //   "MINE" (default) - My files.
 //   "SHARED_WITH_ME" - Files shared with me.
 func (c *FilesListCall) Scope(scope string) *FilesListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -24728,7 +25393,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -24739,15 +25404,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24757,13 +25422,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -24771,16 +25436,35 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24910,32 +25594,32 @@
 // method id "dfareporting.floodlightActivities.delete":
 
 type FloodlightActivitiesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing floodlight activity.
 func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
-	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -24943,9 +25627,13 @@
 
 func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25004,15 +25692,15 @@
 // method id "dfareporting.floodlightActivities.generatetag":
 
 type FloodlightActivitiesGeneratetagCall struct {
-	s          *Service
-	profileId  int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generatetag: Generates a tag for a floodlight activity.
 func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
-	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesGeneratetagCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -25021,21 +25709,21 @@
 // "floodlightActivityId": Floodlight activity ID for which we want to
 // generate a tag.
 func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
-	c.urlParams_.Set("floodlightActivityId", fmt.Sprintf("%v", floodlightActivityId))
+	c.opt_["floodlightActivityId"] = floodlightActivityId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 	c.ctx_ = ctx
 	return c
@@ -25043,9 +25731,16 @@
 
 func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["floodlightActivityId"]; ok {
+		params.Set("floodlightActivityId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25129,27 +25824,26 @@
 // method id "dfareporting.floodlightActivities.get":
 
 type FloodlightActivitiesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight activity by ID.
 func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
-	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25159,13 +25853,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25173,17 +25867,21 @@
 
 func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25267,29 +25965,29 @@
 	s                  *Service
 	profileId          int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new floodlight activity.
 func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
-	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -25302,9 +26000,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25385,16 +26087,15 @@
 // method id "dfareporting.floodlightActivities.list":
 
 type FloodlightActivitiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight activities, possibly filtered.
 func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
-	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -25404,19 +26105,15 @@
 // either ids, advertiserId, or floodlightConfigurationId for a
 // non-empty result.
 func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // FloodlightActivityGroupIds sets the optional parameter
 // "floodlightActivityGroupIds": Select only floodlight activities with
 // the specified floodlight activity group IDs.
-func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds []int64) *FloodlightActivitiesListCall {
-	var floodlightActivityGroupIds_ []string
-	for _, v := range floodlightActivityGroupIds {
-		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
+func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds int64) *FloodlightActivitiesListCall {
+	c.opt_["floodlightActivityGroupIds"] = floodlightActivityGroupIds
 	return c
 }
 
@@ -25424,7 +26121,7 @@
 // "floodlightActivityGroupName": Select only floodlight activities with
 // the specified floodlight activity group name.
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
+	c.opt_["floodlightActivityGroupName"] = floodlightActivityGroupName
 	return c
 }
 
@@ -25432,7 +26129,7 @@
 // "floodlightActivityGroupTagString": Select only floodlight activities
 // with the specified floodlight activity group tag string.
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
+	c.opt_["floodlightActivityGroupTagString"] = floodlightActivityGroupTagString
 	return c
 }
 
@@ -25444,7 +26141,7 @@
 //   "COUNTER"
 //   "SALE"
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
+	c.opt_["floodlightActivityGroupType"] = floodlightActivityGroupType
 	return c
 }
 
@@ -25453,33 +26150,29 @@
 // the specified floodlight configuration ID. Must specify either ids,
 // advertiserId, or floodlightConfigurationId for a non-empty result.
 func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprintf("%v", floodlightConfigurationId))
+	c.opt_["floodlightConfigurationId"] = floodlightConfigurationId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only floodlight
 // activities with the specified IDs. Must specify either ids,
 // advertiserId, or floodlightConfigurationId for a non-empty result.
-func (c *FloodlightActivitiesListCall) Ids(ids []int64) *FloodlightActivitiesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightActivitiesListCall) Ids(ids int64) *FloodlightActivitiesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -25493,7 +26186,7 @@
 // objects with name "my floodlightactivity activity",
 // "floodlightactivity 2015", or simply "floodlightactivity".
 func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -25504,7 +26197,7 @@
 //   "ID"
 //   "NAME"
 func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -25515,22 +26208,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // TagString sets the optional parameter "tagString": Select only
 // floodlight activities with the specified tag string.
 func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("tagString", tagString)
+	c.opt_["tagString"] = tagString
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25540,13 +26233,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -25554,16 +26247,59 @@
 
 func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupIds"]; ok {
+		params.Set("floodlightActivityGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupName"]; ok {
+		params.Set("floodlightActivityGroupName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupTagString"]; ok {
+		params.Set("floodlightActivityGroupTagString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupType"]; ok {
+		params.Set("floodlightActivityGroupType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationId"]; ok {
+		params.Set("floodlightConfigurationId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tagString"]; ok {
+		params.Set("tagString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25734,32 +26470,33 @@
 type FloodlightActivitiesPatchCall struct {
 	s                  *Service
 	profileId          int64
+	id                 int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing floodlight activity. This method supports
 // patch semantics.
 func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
-	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -25772,9 +26509,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25866,29 +26608,29 @@
 	s                  *Service
 	profileId          int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing floodlight activity.
 func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
-	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -25901,9 +26643,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25984,32 +26730,32 @@
 // method id "dfareporting.floodlightActivityGroups.delete":
 
 type FloodlightActivityGroupsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing floodlight activity group.
 func (r *FloodlightActivityGroupsService) Delete(profileId int64, id int64) *FloodlightActivityGroupsDeleteCall {
-	c := &FloodlightActivityGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsDeleteCall) Context(ctx context.Context) *FloodlightActivityGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -26017,9 +26763,13 @@
 
 func (c *FloodlightActivityGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26078,27 +26828,26 @@
 // method id "dfareporting.floodlightActivityGroups.get":
 
 type FloodlightActivityGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight activity group by ID.
 func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
-	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26108,13 +26857,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26122,17 +26871,21 @@
 
 func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26216,29 +26969,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Insert: Inserts a new floodlight activity group.
 func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
-	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -26251,9 +27004,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26334,17 +27091,16 @@
 // method id "dfareporting.floodlightActivityGroups.list":
 
 type FloodlightActivityGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight activity groups, possibly
 // filtered.
 func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
-	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -26354,7 +27110,7 @@
 // specify either advertiserId or floodlightConfigurationId for a
 // non-empty result.
 func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
@@ -26363,33 +27119,29 @@
 // with the specified floodlight configuration ID. Must specify either
 // advertiserId, or floodlightConfigurationId for a non-empty result.
 func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprintf("%v", floodlightConfigurationId))
+	c.opt_["floodlightConfigurationId"] = floodlightConfigurationId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only floodlight
 // activity groups with the specified IDs. Must specify either
 // advertiserId or floodlightConfigurationId for a non-empty result.
-func (c *FloodlightActivityGroupsListCall) Ids(ids []int64) *FloodlightActivityGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightActivityGroupsListCall) Ids(ids int64) *FloodlightActivityGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -26404,7 +27156,7 @@
 // objects with name "my floodlightactivitygroup activity",
 // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -26415,7 +27167,7 @@
 //   "ID"
 //   "NAME"
 func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -26426,7 +27178,7 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -26437,15 +27189,15 @@
 //   "COUNTER"
 //   "SALE"
 func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26455,13 +27207,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -26469,16 +27221,47 @@
 
 func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationId"]; ok {
+		params.Set("floodlightConfigurationId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26628,32 +27411,33 @@
 type FloodlightActivityGroupsPatchCall struct {
 	s                       *Service
 	profileId               int64
+	id                      int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Patch: Updates an existing floodlight activity group. This method
 // supports patch semantics.
 func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
-	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -26666,9 +27450,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26760,29 +27549,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Update: Updates an existing floodlight activity group.
 func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
-	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -26795,9 +27584,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26878,27 +27671,26 @@
 // method id "dfareporting.floodlightConfigurations.get":
 
 type FloodlightConfigurationsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight configuration by ID.
 func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
-	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26908,13 +27700,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26922,17 +27714,21 @@
 
 func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27013,17 +27809,16 @@
 // method id "dfareporting.floodlightConfigurations.list":
 
 type FloodlightConfigurationsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight configurations, possibly
 // filtered.
 func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
-	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -27031,20 +27826,16 @@
 // Ids sets the optional parameter "ids": Set of IDs of floodlight
 // configurations to retrieve. Required field; otherwise an empty list
 // will be returned.
-func (c *FloodlightConfigurationsListCall) Ids(ids []int64) *FloodlightConfigurationsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightConfigurationsListCall) Ids(ids int64) *FloodlightConfigurationsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27054,13 +27845,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27068,16 +27859,23 @@
 
 func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27160,32 +27958,33 @@
 type FloodlightConfigurationsPatchCall struct {
 	s                       *Service
 	profileId               int64
+	id                      int64
 	floodlightconfiguration *FloodlightConfiguration
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Patch: Updates an existing floodlight configuration. This method
 // supports patch semantics.
 func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
-	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -27198,9 +27997,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27292,29 +28096,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightconfiguration *FloodlightConfiguration
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Update: Updates an existing floodlight configuration.
 func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
-	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -27327,9 +28131,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27410,29 +28218,28 @@
 // method id "dfareporting.inventoryItems.get":
 
 type InventoryItemsGetCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one inventory item by ID.
 func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
-	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InventoryItemsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27442,13 +28249,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27456,9 +28263,13 @@
 
 func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27466,8 +28277,8 @@
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27556,17 +28367,16 @@
 // method id "dfareporting.inventoryItems.list":
 
 type InventoryItemsListCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of inventory items, possibly filtered.
 func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
-	c := &InventoryItemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InventoryItemsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	return c
@@ -27574,55 +28384,43 @@
 
 // Ids sets the optional parameter "ids": Select only inventory items
 // with these IDs.
-func (c *InventoryItemsListCall) Ids(ids []int64) *InventoryItemsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *InventoryItemsListCall) Ids(ids int64) *InventoryItemsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // InPlan sets the optional parameter "inPlan": Select only inventory
 // items that are in plan.
 func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
-	c.urlParams_.Set("inPlan", fmt.Sprintf("%v", inPlan))
+	c.opt_["inPlan"] = inPlan
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OrderId sets the optional parameter "orderId": Select only inventory
 // items that belong to specified orders.
-func (c *InventoryItemsListCall) OrderId(orderId []int64) *InventoryItemsListCall {
-	var orderId_ []string
-	for _, v := range orderId {
-		orderId_ = append(orderId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("orderId", orderId_)
+func (c *InventoryItemsListCall) OrderId(orderId int64) *InventoryItemsListCall {
+	c.opt_["orderId"] = orderId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // SiteId sets the optional parameter "siteId": Select only inventory
 // items that are associated with these sites.
-func (c *InventoryItemsListCall) SiteId(siteId []int64) *InventoryItemsListCall {
-	var siteId_ []string
-	for _, v := range siteId {
-		siteId_ = append(siteId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteId", siteId_)
+func (c *InventoryItemsListCall) SiteId(siteId int64) *InventoryItemsListCall {
+	c.opt_["siteId"] = siteId
 	return c
 }
 
@@ -27633,7 +28431,7 @@
 //   "ID"
 //   "NAME"
 func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -27644,15 +28442,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27662,13 +28460,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27676,17 +28474,45 @@
 
 func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["inPlan"]; ok {
+		params.Set("inPlan", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderId"]; ok {
+		params.Set("orderId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteId"]; ok {
+		params.Set("siteId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"projectId": strconv.FormatInt(c.projectId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27834,30 +28660,30 @@
 	profileId  int64
 	campaignId int64
 	id         int64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an existing campaign landing page.
 func (r *LandingPagesService) Delete(profileId int64, campaignId int64, id int64) *LandingPagesDeleteCall {
-	c := &LandingPagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesDeleteCall) Fields(s ...googleapi.Field) *LandingPagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesDeleteCall) Context(ctx context.Context) *LandingPagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -27865,9 +28691,13 @@
 
 func (c *LandingPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -27935,29 +28765,28 @@
 // method id "dfareporting.landingPages.get":
 
 type LandingPagesGetCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	id         int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets one campaign landing page by ID.
 func (r *LandingPagesService) Get(profileId int64, campaignId int64, id int64) *LandingPagesGetCall {
-	c := &LandingPagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesGetCall) Fields(s ...googleapi.Field) *LandingPagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27967,13 +28796,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LandingPagesGetCall) IfNoneMatch(entityTag string) *LandingPagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesGetCall) Context(ctx context.Context) *LandingPagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27981,9 +28810,13 @@
 
 func (c *LandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -27991,8 +28824,8 @@
 		"id":         strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28085,30 +28918,30 @@
 	profileId   int64
 	campaignId  int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Insert: Inserts a new landing page for the specified campaign.
 func (r *LandingPagesService) Insert(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesInsertCall {
-	c := &LandingPagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesInsertCall) Fields(s ...googleapi.Field) *LandingPagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesInsertCall) Context(ctx context.Context) *LandingPagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -28121,9 +28954,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28213,27 +29050,26 @@
 // method id "dfareporting.landingPages.list":
 
 type LandingPagesListCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieves the list of landing pages for the specified campaign.
 func (r *LandingPagesService) List(profileId int64, campaignId int64) *LandingPagesListCall {
-	c := &LandingPagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesListCall) Fields(s ...googleapi.Field) *LandingPagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28243,13 +29079,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LandingPagesListCall) IfNoneMatch(entityTag string) *LandingPagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesListCall) Context(ctx context.Context) *LandingPagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -28257,17 +29093,21 @@
 
 func (c *LandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
 		"campaignId": strconv.FormatInt(c.campaignId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28351,33 +29191,34 @@
 	s           *Service
 	profileId   int64
 	campaignId  int64
+	id          int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Updates an existing campaign landing page. This method
 // supports patch semantics.
 func (r *LandingPagesService) Patch(profileId int64, campaignId int64, id int64, landingpage *LandingPage) *LandingPagesPatchCall {
-	c := &LandingPagesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesPatchCall) Fields(s ...googleapi.Field) *LandingPagesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesPatchCall) Context(ctx context.Context) *LandingPagesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -28390,9 +29231,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28494,30 +29340,30 @@
 	profileId   int64
 	campaignId  int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates an existing campaign landing page.
 func (r *LandingPagesService) Update(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesUpdateCall {
-	c := &LandingPagesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesUpdateCall) Fields(s ...googleapi.Field) *LandingPagesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesUpdateCall) Context(ctx context.Context) *LandingPagesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -28530,9 +29376,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28622,25 +29472,24 @@
 // method id "dfareporting.metros.list":
 
 type MetrosListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of metros.
 func (r *MetrosService) List(profileId int64) *MetrosListCall {
-	c := &MetrosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetrosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28650,13 +29499,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 	c.ctx_ = ctx
 	return c
@@ -28664,16 +29513,20 @@
 
 func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28746,27 +29599,26 @@
 // method id "dfareporting.mobileCarriers.get":
 
 type MobileCarriersGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one mobile carrier by ID.
 func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
-	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobileCarriersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28776,13 +29628,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28790,17 +29642,21 @@
 
 func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28881,25 +29737,24 @@
 // method id "dfareporting.mobileCarriers.list":
 
 type MobileCarriersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of mobile carriers.
 func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
-	c := &MobileCarriersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobileCarriersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28909,13 +29764,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 	c.ctx_ = ctx
 	return c
@@ -28923,16 +29778,20 @@
 
 func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29005,27 +29864,26 @@
 // method id "dfareporting.operatingSystemVersions.get":
 
 type OperatingSystemVersionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one operating system version by ID.
 func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
-	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemVersionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29035,13 +29893,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29049,17 +29907,21 @@
 
 func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29140,25 +30002,24 @@
 // method id "dfareporting.operatingSystemVersions.list":
 
 type OperatingSystemVersionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of operating system versions.
 func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
-	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemVersionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29168,13 +30029,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29182,16 +30043,20 @@
 
 func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29265,27 +30130,26 @@
 // method id "dfareporting.operatingSystems.get":
 
 type OperatingSystemsGetCall struct {
-	s            *Service
-	profileId    int64
-	dartId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	dartId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one operating system by DART ID.
 func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
-	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dartId = dartId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29295,13 +30159,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29309,17 +30173,21 @@
 
 func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"dartId":    strconv.FormatInt(c.dartId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29400,25 +30268,24 @@
 // method id "dfareporting.operatingSystems.list":
 
 type OperatingSystemsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of operating systems.
 func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
-	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29428,13 +30295,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29442,16 +30309,20 @@
 
 func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29524,29 +30395,28 @@
 // method id "dfareporting.orderDocuments.get":
 
 type OrderDocumentsGetCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one order document by ID.
 func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
-	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrderDocumentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29556,13 +30426,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29570,9 +30440,13 @@
 
 func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -29580,8 +30454,8 @@
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29670,17 +30544,16 @@
 // method id "dfareporting.orderDocuments.list":
 
 type OrderDocumentsListCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of order documents, possibly filtered.
 func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
-	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrderDocumentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	return c
@@ -29689,43 +30562,35 @@
 // Approved sets the optional parameter "approved": Select only order
 // documents that have been approved by at least one user.
 func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
-	c.urlParams_.Set("approved", fmt.Sprintf("%v", approved))
+	c.opt_["approved"] = approved
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only order documents
 // with these IDs.
-func (c *OrderDocumentsListCall) Ids(ids []int64) *OrderDocumentsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *OrderDocumentsListCall) Ids(ids int64) *OrderDocumentsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OrderId sets the optional parameter "orderId": Select only order
 // documents for specified orders.
-func (c *OrderDocumentsListCall) OrderId(orderId []int64) *OrderDocumentsListCall {
-	var orderId_ []string
-	for _, v := range orderId {
-		orderId_ = append(orderId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("orderId", orderId_)
+func (c *OrderDocumentsListCall) OrderId(orderId int64) *OrderDocumentsListCall {
+	c.opt_["orderId"] = orderId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -29739,18 +30604,14 @@
 // order documents with name "my orderdocument", "orderdocument 2015",
 // or simply "orderdocument".
 func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteId sets the optional parameter "siteId": Select only order
 // documents that are associated with these sites.
-func (c *OrderDocumentsListCall) SiteId(siteId []int64) *OrderDocumentsListCall {
-	var siteId_ []string
-	for _, v := range siteId {
-		siteId_ = append(siteId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteId", siteId_)
+func (c *OrderDocumentsListCall) SiteId(siteId int64) *OrderDocumentsListCall {
+	c.opt_["siteId"] = siteId
 	return c
 }
 
@@ -29761,7 +30622,7 @@
 //   "ID"
 //   "NAME"
 func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -29772,15 +30633,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29790,13 +30651,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29804,17 +30665,48 @@
 
 func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["approved"]; ok {
+		params.Set("approved", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderId"]; ok {
+		params.Set("orderId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteId"]; ok {
+		params.Set("siteId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"projectId": strconv.FormatInt(c.projectId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29963,29 +30855,28 @@
 // method id "dfareporting.orders.get":
 
 type OrdersGetCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one order by ID.
 func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
-	c := &OrdersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29995,13 +30886,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30009,9 +30900,13 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30019,8 +30914,8 @@
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30109,17 +31004,16 @@
 // method id "dfareporting.orders.list":
 
 type OrdersListCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of orders, possibly filtered.
 func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
-	c := &OrdersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	return c
@@ -30127,26 +31021,22 @@
 
 // Ids sets the optional parameter "ids": Select only orders with these
 // IDs.
-func (c *OrdersListCall) Ids(ids []int64) *OrdersListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *OrdersListCall) Ids(ids int64) *OrdersListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -30158,18 +31048,14 @@
 // the search string. For example, a search string of "order" will match
 // orders with name "my order", "order 2015", or simply "order".
 func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteId sets the optional parameter "siteId": Select only orders that
 // are associated with these site IDs.
-func (c *OrdersListCall) SiteId(siteId []int64) *OrdersListCall {
-	var siteId_ []string
-	for _, v := range siteId {
-		siteId_ = append(siteId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteId", siteId_)
+func (c *OrdersListCall) SiteId(siteId int64) *OrdersListCall {
+	c.opt_["siteId"] = siteId
 	return c
 }
 
@@ -30180,7 +31066,7 @@
 //   "ID"
 //   "NAME"
 func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -30191,15 +31077,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30209,13 +31095,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 	c.ctx_ = ctx
 	return c
@@ -30223,17 +31109,42 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteId"]; ok {
+		params.Set("siteId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"projectId": strconv.FormatInt(c.projectId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30370,27 +31281,26 @@
 // method id "dfareporting.placementGroups.get":
 
 type PlacementGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement group by ID.
 func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
-	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30400,13 +31310,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30414,17 +31324,21 @@
 
 func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30508,29 +31422,29 @@
 	s              *Service
 	profileId      int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Inserts a new placement group.
 func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
-	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -30543,9 +31457,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30626,28 +31544,23 @@
 // method id "dfareporting.placementGroups.list":
 
 type PlacementGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placement groups, possibly filtered.
 func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
-	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only placement groups that belong to these advertisers.
-func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds []int64) *PlacementGroupsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds int64) *PlacementGroupsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -30655,67 +31568,51 @@
 // placements. Don't set this field to select both archived and
 // non-archived placements.
 func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // placement groups that belong to these campaigns.
-func (c *PlacementGroupsListCall) CampaignIds(campaignIds []int64) *PlacementGroupsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *PlacementGroupsListCall) CampaignIds(campaignIds int64) *PlacementGroupsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
 // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 // Select only placement groups that are associated with these content
 // categories.
-func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds []int64) *PlacementGroupsListCall {
-	var contentCategoryIds_ []string
-	for _, v := range contentCategoryIds {
-		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
+func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds int64) *PlacementGroupsListCall {
+	c.opt_["contentCategoryIds"] = contentCategoryIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only placement groups that are associated with these directory
 // sites.
-func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds []int64) *PlacementGroupsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds int64) *PlacementGroupsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placement groups
 // with these IDs.
-func (c *PlacementGroupsListCall) Ids(ids []int64) *PlacementGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementGroupsListCall) Ids(ids int64) *PlacementGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -30731,19 +31628,15 @@
 //   "PLACEMENT_PACKAGE"
 //   "PLACEMENT_ROADBLOCK"
 func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
-	c.urlParams_.Set("placementGroupType", placementGroupType)
+	c.opt_["placementGroupType"] = placementGroupType
 	return c
 }
 
 // PlacementStrategyIds sets the optional parameter
 // "placementStrategyIds": Select only placement groups that are
 // associated with these placement strategies.
-func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds []int64) *PlacementGroupsListCall {
-	var placementStrategyIds_ []string
-	for _, v := range placementStrategyIds {
-		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
+func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds int64) *PlacementGroupsListCall {
+	c.opt_["placementStrategyIds"] = placementStrategyIds
 	return c
 }
 
@@ -30756,8 +31649,8 @@
 //   "PRICING_TYPE_CPM"
 //   "PRICING_TYPE_FLAT_RATE_CLICKS"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
-func (c *PlacementGroupsListCall) PricingTypes(pricingTypes []string) *PlacementGroupsListCall {
-	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
+func (c *PlacementGroupsListCall) PricingTypes(pricingTypes string) *PlacementGroupsListCall {
+	c.opt_["pricingTypes"] = pricingTypes
 	return c
 }
 
@@ -30771,18 +31664,14 @@
 // groups with name "my placementgroup", "placementgroup 2015", or
 // simply "placementgroup".
 func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteIds sets the optional parameter "siteIds": Select only placement
 // groups that are associated with these sites.
-func (c *PlacementGroupsListCall) SiteIds(siteIds []int64) *PlacementGroupsListCall {
-	var siteIds_ []string
-	for _, v := range siteIds {
-		siteIds_ = append(siteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteIds", siteIds_)
+func (c *PlacementGroupsListCall) SiteIds(siteIds int64) *PlacementGroupsListCall {
+	c.opt_["siteIds"] = siteIds
 	return c
 }
 
@@ -30793,7 +31682,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -30804,15 +31693,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30822,13 +31711,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -30836,16 +31725,65 @@
 
 func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentCategoryIds"]; ok {
+		params.Set("contentCategoryIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementGroupType"]; ok {
+		params.Set("placementGroupType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementStrategyIds"]; ok {
+		params.Set("placementStrategyIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pricingTypes"]; ok {
+		params.Set("pricingTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteIds"]; ok {
+		params.Set("siteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31049,32 +31987,33 @@
 type PlacementGroupsPatchCall struct {
 	s              *Service
 	profileId      int64
+	id             int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates an existing placement group. This method supports
 // patch semantics.
 func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
-	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -31087,9 +32026,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31181,29 +32125,29 @@
 	s              *Service
 	profileId      int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates an existing placement group.
 func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
-	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -31216,9 +32160,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31299,32 +32247,32 @@
 // method id "dfareporting.placementStrategies.delete":
 
 type PlacementStrategiesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing placement strategy.
 func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
-	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -31332,9 +32280,13 @@
 
 func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31393,27 +32345,26 @@
 // method id "dfareporting.placementStrategies.get":
 
 type PlacementStrategiesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement strategy by ID.
 func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
-	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31423,13 +32374,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -31437,17 +32388,21 @@
 
 func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31531,29 +32486,29 @@
 	s                 *Service
 	profileId         int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Insert: Inserts a new placement strategy.
 func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
-	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -31566,9 +32521,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31649,42 +32608,37 @@
 // method id "dfareporting.placementStrategies.list":
 
 type PlacementStrategiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placement strategies, possibly filtered.
 func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
-	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placement
 // strategies with these IDs.
-func (c *PlacementStrategiesListCall) Ids(ids []int64) *PlacementStrategiesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementStrategiesListCall) Ids(ids int64) *PlacementStrategiesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -31698,7 +32652,7 @@
 // objects with name "my placementstrategy", "placementstrategy 2015",
 // or simply "placementstrategy".
 func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -31709,7 +32663,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -31720,15 +32674,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31738,13 +32692,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -31752,16 +32706,38 @@
 
 func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31885,32 +32861,33 @@
 type PlacementStrategiesPatchCall struct {
 	s                 *Service
 	profileId         int64
+	id                int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Updates an existing placement strategy. This method supports
 // patch semantics.
 func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
-	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -31923,9 +32900,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32017,29 +32999,29 @@
 	s                 *Service
 	profileId         int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Updates an existing placement strategy.
 func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
-	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -32052,9 +33034,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32135,15 +33121,15 @@
 // method id "dfareporting.placements.generatetags":
 
 type PlacementsGeneratetagsCall struct {
-	s          *Service
-	profileId  int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generatetags: Generates tags for a placement.
 func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
-	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsGeneratetagsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -32151,18 +33137,14 @@
 // CampaignId sets the optional parameter "campaignId": Generate
 // placements belonging to this campaign. This is a required field.
 func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // PlacementIds sets the optional parameter "placementIds": Generate
 // tags for these placements.
-func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds []int64) *PlacementsGeneratetagsCall {
-	var placementIds_ []string
-	for _, v := range placementIds {
-		placementIds_ = append(placementIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementIds", placementIds_)
+func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds int64) *PlacementsGeneratetagsCall {
+	c.opt_["placementIds"] = placementIds
 	return c
 }
 
@@ -32188,22 +33170,22 @@
 //   "PLACEMENT_TAG_TRACKING"
 //   "PLACEMENT_TAG_TRACKING_IFRAME"
 //   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
-func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats []string) *PlacementsGeneratetagsCall {
-	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
+func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats string) *PlacementsGeneratetagsCall {
+	c.opt_["tagFormats"] = tagFormats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 	c.ctx_ = ctx
 	return c
@@ -32211,9 +33193,22 @@
 
 func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementIds"]; ok {
+		params.Set("placementIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tagFormats"]; ok {
+		params.Set("tagFormats", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32349,27 +33344,26 @@
 // method id "dfareporting.placements.get":
 
 type PlacementsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement by ID.
 func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
-	c := &PlacementsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32379,13 +33373,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -32393,17 +33387,21 @@
 
 func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32484,32 +33482,32 @@
 // method id "dfareporting.placements.insert":
 
 type PlacementsInsertCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new placement.
 func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
-	c := &PlacementsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -32522,9 +33520,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32605,28 +33607,23 @@
 // method id "dfareporting.placements.list":
 
 type PlacementsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placements, possibly filtered.
 func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
-	c := &PlacementsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only placements that belong to these advertisers.
-func (c *PlacementsListCall) AdvertiserIds(advertiserIds []int64) *PlacementsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *PlacementsListCall) AdvertiserIds(advertiserIds int64) *PlacementsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -32634,18 +33631,14 @@
 // placements. Don't set this field to select both archived and
 // non-archived placements.
 func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // placements that belong to these campaigns.
-func (c *PlacementsListCall) CampaignIds(campaignIds []int64) *PlacementsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *PlacementsListCall) CampaignIds(campaignIds int64) *PlacementsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
@@ -32663,68 +33656,52 @@
 //   "IN_STREAM_VIDEO"
 //   "WEB"
 //   "WEB_INTERSTITIAL"
-func (c *PlacementsListCall) Compatibilities(compatibilities []string) *PlacementsListCall {
-	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
+func (c *PlacementsListCall) Compatibilities(compatibilities string) *PlacementsListCall {
+	c.opt_["compatibilities"] = compatibilities
 	return c
 }
 
 // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 // Select only placements that are associated with these content
 // categories.
-func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds []int64) *PlacementsListCall {
-	var contentCategoryIds_ []string
-	for _, v := range contentCategoryIds {
-		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
+func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds int64) *PlacementsListCall {
+	c.opt_["contentCategoryIds"] = contentCategoryIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only placements that are associated with these directory
 // sites.
-func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds []int64) *PlacementsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds int64) *PlacementsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // GroupIds sets the optional parameter "groupIds": Select only
 // placements that belong to these placement groups.
-func (c *PlacementsListCall) GroupIds(groupIds []int64) *PlacementsListCall {
-	var groupIds_ []string
-	for _, v := range groupIds {
-		groupIds_ = append(groupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("groupIds", groupIds_)
+func (c *PlacementsListCall) GroupIds(groupIds int64) *PlacementsListCall {
+	c.opt_["groupIds"] = groupIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placements with
 // these IDs.
-func (c *PlacementsListCall) Ids(ids []int64) *PlacementsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementsListCall) Ids(ids int64) *PlacementsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -32735,19 +33712,15 @@
 //   "PLACEMENT_AGENCY_PAID"
 //   "PLACEMENT_PUBLISHER_PAID"
 func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
-	c.urlParams_.Set("paymentSource", paymentSource)
+	c.opt_["paymentSource"] = paymentSource
 	return c
 }
 
 // PlacementStrategyIds sets the optional parameter
 // "placementStrategyIds": Select only placements that are associated
 // with these placement strategies.
-func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds []int64) *PlacementsListCall {
-	var placementStrategyIds_ []string
-	for _, v := range placementStrategyIds {
-		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
+func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds int64) *PlacementsListCall {
+	c.opt_["placementStrategyIds"] = placementStrategyIds
 	return c
 }
 
@@ -32760,8 +33733,8 @@
 //   "PRICING_TYPE_CPM"
 //   "PRICING_TYPE_FLAT_RATE_CLICKS"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
-func (c *PlacementsListCall) PricingTypes(pricingTypes []string) *PlacementsListCall {
-	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
+func (c *PlacementsListCall) PricingTypes(pricingTypes string) *PlacementsListCall {
+	c.opt_["pricingTypes"] = pricingTypes
 	return c
 }
 
@@ -32774,29 +33747,21 @@
 // of "placement" will match placements with name "my placement",
 // "placement 2015", or simply "placement".
 func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteIds sets the optional parameter "siteIds": Select only placements
 // that are associated with these sites.
-func (c *PlacementsListCall) SiteIds(siteIds []int64) *PlacementsListCall {
-	var siteIds_ []string
-	for _, v := range siteIds {
-		siteIds_ = append(siteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteIds", siteIds_)
+func (c *PlacementsListCall) SiteIds(siteIds int64) *PlacementsListCall {
+	c.opt_["siteIds"] = siteIds
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only placements
 // that are associated with these sizes.
-func (c *PlacementsListCall) SizeIds(sizeIds []int64) *PlacementsListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *PlacementsListCall) SizeIds(sizeIds int64) *PlacementsListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -32807,7 +33772,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -32818,15 +33783,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32836,13 +33801,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 	c.ctx_ = ctx
 	return c
@@ -32850,16 +33815,74 @@
 
 func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["compatibilities"]; ok {
+		params.Set("compatibilities", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentCategoryIds"]; ok {
+		params.Set("contentCategoryIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupIds"]; ok {
+		params.Set("groupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["paymentSource"]; ok {
+		params.Set("paymentSource", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementStrategyIds"]; ok {
+		params.Set("placementStrategyIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pricingTypes"]; ok {
+		params.Set("pricingTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteIds"]; ok {
+		params.Set("siteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33095,34 +34118,35 @@
 // method id "dfareporting.placements.patch":
 
 type PlacementsPatchCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing placement. This method supports patch
 // semantics.
 func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
-	c := &PlacementsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -33135,9 +34159,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33226,32 +34255,32 @@
 // method id "dfareporting.placements.update":
 
 type PlacementsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing placement.
 func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
-	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -33264,9 +34293,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33347,27 +34380,26 @@
 // method id "dfareporting.platformTypes.get":
 
 type PlatformTypesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one platform type by ID.
 func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
-	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlatformTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33377,13 +34409,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33391,17 +34423,21 @@
 
 func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33482,25 +34518,24 @@
 // method id "dfareporting.platformTypes.list":
 
 type PlatformTypesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of platform types.
 func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
-	c := &PlatformTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlatformTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33510,13 +34545,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -33524,16 +34559,20 @@
 
 func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33606,27 +34645,26 @@
 // method id "dfareporting.postalCodes.get":
 
 type PostalCodesGetCall struct {
-	s            *Service
-	profileId    int64
-	code         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	code      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one postal code by ID.
 func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
-	c := &PostalCodesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostalCodesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.code = code
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33636,13 +34674,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33650,17 +34688,21 @@
 
 func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"code":      c.code,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33740,25 +34782,24 @@
 // method id "dfareporting.postalCodes.list":
 
 type PostalCodesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of postal codes.
 func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
-	c := &PostalCodesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostalCodesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33768,13 +34809,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 	c.ctx_ = ctx
 	return c
@@ -33782,16 +34823,20 @@
 
 func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33864,27 +34909,26 @@
 // method id "dfareporting.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one project by ID.
 func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33894,13 +34938,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33908,17 +34952,21 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33999,53 +35047,44 @@
 // method id "dfareporting.projects.list":
 
 type ProjectsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of projects, possibly filtered.
 func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
-	c := &ProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only projects with these advertiser IDs.
-func (c *ProjectsListCall) AdvertiserIds(advertiserIds []int64) *ProjectsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *ProjectsListCall) AdvertiserIds(advertiserIds int64) *ProjectsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only projects with
 // these IDs.
-func (c *ProjectsListCall) Ids(ids []int64) *ProjectsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ProjectsListCall) Ids(ids int64) *ProjectsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -34058,7 +35097,7 @@
 // match projects with name "my project", "project 2015", or simply
 // "project".
 func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -34069,7 +35108,7 @@
 //   "ID"
 //   "NAME"
 func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -34080,15 +35119,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34098,13 +35137,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -34112,16 +35151,41 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34250,25 +35314,24 @@
 // method id "dfareporting.regions.list":
 
 type RegionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of regions.
 func (r *RegionsService) List(profileId int64) *RegionsListCall {
-	c := &RegionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34278,13 +35341,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -34292,16 +35355,20 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34377,24 +35444,23 @@
 	s                 *Service
 	profileId         int64
 	remarketingListId int64
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Get: Gets one remarketing list share by remarketing list ID.
 func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
-	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListSharesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketingListId = remarketingListId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34404,13 +35470,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34418,17 +35484,21 @@
 
 func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":         strconv.FormatInt(c.profileId, 10),
 		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34511,32 +35581,33 @@
 type RemarketingListSharesPatchCall struct {
 	s                    *Service
 	profileId            int64
+	remarketingListId    int64
 	remarketinglistshare *RemarketingListShare
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Patch: Updates an existing remarketing list share. This method
 // supports patch semantics.
 func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
-	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListSharesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("remarketingListId", fmt.Sprintf("%v", remarketingListId))
+	c.remarketingListId = remarketingListId
 	c.remarketinglistshare = remarketinglistshare
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -34549,9 +35620,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("remarketingListId", fmt.Sprintf("%v", c.remarketingListId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -34643,29 +35719,29 @@
 	s                    *Service
 	profileId            int64
 	remarketinglistshare *RemarketingListShare
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Update: Updates an existing remarketing list share.
 func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
-	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListSharesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketinglistshare = remarketinglistshare
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -34678,9 +35754,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -34761,27 +35841,26 @@
 // method id "dfareporting.remarketingLists.get":
 
 type RemarketingListsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one remarketing list by ID.
 func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
-	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34791,13 +35870,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34805,17 +35884,21 @@
 
 func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34899,29 +35982,29 @@
 	s               *Service
 	profileId       int64
 	remarketinglist *RemarketingList
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new remarketing list.
 func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
-	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketinglist = remarketinglist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -34934,9 +36017,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35019,23 +36106,23 @@
 type RemarketingListsListCall struct {
 	s            *Service
 	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	advertiserId int64
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves a list of remarketing lists, possibly filtered.
 func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
-	c := &RemarketingListsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.advertiserId = advertiserId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active or
 // only inactive remarketing lists.
 func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
@@ -35043,14 +36130,14 @@
 // "floodlightActivityId": Select only remarketing lists that have this
 // floodlight activity ID.
 func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
-	c.urlParams_.Set("floodlightActivityId", fmt.Sprintf("%v", floodlightActivityId))
+	c.opt_["floodlightActivityId"] = floodlightActivityId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -35063,14 +36150,14 @@
 // of "remarketing list" will match objects with name "my remarketing
 // list", "remarketing list 2015", or simply "remarketing list".
 func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -35081,7 +36168,7 @@
 //   "ID"
 //   "NAME"
 func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -35092,15 +36179,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35110,13 +36197,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 	c.ctx_ = ctx
 	return c
@@ -35124,16 +36211,42 @@
 
 func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("advertiserId", fmt.Sprintf("%v", c.advertiserId))
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityId"]; ok {
+		params.Set("floodlightActivityId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35269,32 +36382,33 @@
 type RemarketingListsPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	remarketinglist *RemarketingList
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing remarketing list. This method supports
 // patch semantics.
 func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
-	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.remarketinglist = remarketinglist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -35307,9 +36421,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35401,29 +36520,29 @@
 	s               *Service
 	profileId       int64
 	remarketinglist *RemarketingList
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing remarketing list.
 func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
-	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketinglist = remarketinglist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -35436,9 +36555,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35519,32 +36642,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its ID.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -35552,9 +36675,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35613,27 +36740,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its ID.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35643,13 +36769,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -35657,17 +36783,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35748,32 +36878,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -35786,9 +36916,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35869,16 +37003,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -35886,14 +37019,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -35904,7 +37037,7 @@
 //   "ALL" - All reports in account.
 //   "MINE" (default) - My reports.
 func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -35916,7 +37049,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -35927,15 +37060,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35945,13 +37078,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -35959,16 +37092,35 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36098,34 +37250,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -36138,9 +37290,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36230,16 +37386,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -36248,21 +37404,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -36270,9 +37426,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36363,34 +37526,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -36403,9 +37566,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36495,34 +37662,34 @@
 // method id "dfareporting.reports.compatibleFields.query":
 
 type ReportsCompatibleFieldsQueryCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Query: Returns the fields that are compatible to be selected in the
 // respective sections of a report criteria, given the fields already
 // selected in the input report and user permissions.
 func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
-	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsCompatibleFieldsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -36535,9 +37702,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36618,29 +37789,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36650,13 +37820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -36664,9 +37834,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36674,8 +37848,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36780,17 +37954,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -36799,14 +37972,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -36817,7 +37990,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -36828,15 +38001,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36846,13 +38019,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -36860,17 +38033,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36992,27 +38181,26 @@
 // method id "dfareporting.sites.get":
 
 type SitesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one site by ID.
 func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
-	c := &SitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37022,13 +38210,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -37036,17 +38224,21 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37127,32 +38319,32 @@
 // method id "dfareporting.sites.insert":
 
 type SitesInsertCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new site.
 func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
-	c := &SitesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -37165,9 +38357,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -37248,16 +38444,15 @@
 // method id "dfareporting.sites.list":
 
 type SitesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of sites, possibly filtered.
 func (r *SitesService) List(profileId int64) *SitesListCall {
-	c := &SitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -37266,7 +38461,7 @@
 // "acceptsInStreamVideoPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", acceptsInStreamVideoPlacements))
+	c.opt_["acceptsInStreamVideoPlacements"] = acceptsInStreamVideoPlacements
 	return c
 }
 
@@ -37274,7 +38469,7 @@
 // "acceptsInterstitialPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", acceptsInterstitialPlacements))
+	c.opt_["acceptsInterstitialPlacements"] = acceptsInterstitialPlacements
 	return c
 }
 
@@ -37282,68 +38477,56 @@
 // "acceptsPublisherPaidPlacements": Select only sites that accept
 // publisher paid placements.
 func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", acceptsPublisherPaidPlacements))
+	c.opt_["acceptsPublisherPaidPlacements"] = acceptsPublisherPaidPlacements
 	return c
 }
 
 // AdWordsSite sets the optional parameter "adWordsSite": Select only
 // AdWords sites.
 func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
-	c.urlParams_.Set("adWordsSite", fmt.Sprintf("%v", adWordsSite))
+	c.opt_["adWordsSite"] = adWordsSite
 	return c
 }
 
 // Approved sets the optional parameter "approved": Select only approved
 // sites.
 func (c *SitesListCall) Approved(approved bool) *SitesListCall {
-	c.urlParams_.Set("approved", fmt.Sprintf("%v", approved))
+	c.opt_["approved"] = approved
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // sites with these campaign IDs.
-func (c *SitesListCall) CampaignIds(campaignIds []int64) *SitesListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *SitesListCall) CampaignIds(campaignIds int64) *SitesListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only sites with these directory site IDs.
-func (c *SitesListCall) DirectorySiteIds(directorySiteIds []int64) *SitesListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *SitesListCall) DirectorySiteIds(directorySiteIds int64) *SitesListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only sites with these
 // IDs.
-func (c *SitesListCall) Ids(ids []int64) *SitesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SitesListCall) Ids(ids int64) *SitesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -37355,7 +38538,7 @@
 // of the search string. For example, a search string of "site" will
 // match objects with name "my site", "site 2015", or simply "site".
 func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -37366,7 +38549,7 @@
 //   "ID"
 //   "NAME"
 func (c *SitesListCall) SortField(sortField string) *SitesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -37377,29 +38560,29 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // sites with this subaccount ID.
 func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
 // UnmappedSite sets the optional parameter "unmappedSite": Select only
 // sites that have not been mapped to a directory site.
 func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
-	c.urlParams_.Set("unmappedSite", fmt.Sprintf("%v", unmappedSite))
+	c.opt_["unmappedSite"] = unmappedSite
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37409,13 +38592,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -37423,16 +38606,65 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acceptsInStreamVideoPlacements"]; ok {
+		params.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsInterstitialPlacements"]; ok {
+		params.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsPublisherPaidPlacements"]; ok {
+		params.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["adWordsSite"]; ok {
+		params.Set("adWordsSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["approved"]; ok {
+		params.Set("approved", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["unmappedSite"]; ok {
+		params.Set("unmappedSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37604,34 +38836,35 @@
 // method id "dfareporting.sites.patch":
 
 type SitesPatchCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing site. This method supports patch
 // semantics.
 func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
-	c := &SitesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -37644,9 +38877,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -37735,32 +38973,32 @@
 // method id "dfareporting.sites.update":
 
 type SitesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing site.
 func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
-	c := &SitesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -37773,9 +39011,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -37856,27 +39098,26 @@
 // method id "dfareporting.sizes.get":
 
 type SizesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one size by ID.
 func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
-	c := &SizesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37886,13 +39127,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -37900,17 +39141,21 @@
 
 func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37991,32 +39236,32 @@
 // method id "dfareporting.sizes.insert":
 
 type SizesInsertCall struct {
-	s          *Service
-	profileId  int64
-	size       *Size
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	size      *Size
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new size.
 func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
-	c := &SizesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.size = size
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -38029,9 +39274,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -38112,16 +39361,15 @@
 // method id "dfareporting.sizes.list":
 
 type SizesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of sizes, possibly filtered.
 func (r *SizesService) List(profileId int64) *SizesListCall {
-	c := &SizesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -38129,40 +39377,36 @@
 // Height sets the optional parameter "height": Select only sizes with
 // this height.
 func (c *SizesListCall) Height(height int64) *SizesListCall {
-	c.urlParams_.Set("height", fmt.Sprintf("%v", height))
+	c.opt_["height"] = height
 	return c
 }
 
 // IabStandard sets the optional parameter "iabStandard": Select only
 // IAB standard sizes.
 func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
-	c.urlParams_.Set("iabStandard", fmt.Sprintf("%v", iabStandard))
+	c.opt_["iabStandard"] = iabStandard
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only sizes with these
 // IDs.
-func (c *SizesListCall) Ids(ids []int64) *SizesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SizesListCall) Ids(ids int64) *SizesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // Width sets the optional parameter "width": Select only sizes with
 // this width.
 func (c *SizesListCall) Width(width int64) *SizesListCall {
-	c.urlParams_.Set("width", fmt.Sprintf("%v", width))
+	c.opt_["width"] = width
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38172,13 +39416,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 	c.ctx_ = ctx
 	return c
@@ -38186,16 +39430,32 @@
 
 func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["height"]; ok {
+		params.Set("height", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["iabStandard"]; ok {
+		params.Set("iabStandard", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["width"]; ok {
+		params.Set("width", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38292,27 +39552,26 @@
 // method id "dfareporting.subaccounts.get":
 
 type SubaccountsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one subaccount by ID.
 func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
-	c := &SubaccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38322,13 +39581,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -38336,17 +39595,21 @@
 
 func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38430,29 +39693,29 @@
 	s          *Service
 	profileId  int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new subaccount.
 func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
-	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -38465,9 +39728,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -38548,42 +39815,37 @@
 // method id "dfareporting.subaccounts.list":
 
 type SubaccountsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of subaccounts, possibly filtered.
 func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
-	c := &SubaccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only subaccounts with
 // these IDs.
-func (c *SubaccountsListCall) Ids(ids []int64) *SubaccountsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SubaccountsListCall) Ids(ids int64) *SubaccountsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -38596,7 +39858,7 @@
 // string of "subaccount" will match objects with name "my subaccount",
 // "subaccount 2015", or simply "subaccount".
 func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -38607,7 +39869,7 @@
 //   "ID"
 //   "NAME"
 func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -38618,15 +39880,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38636,13 +39898,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -38650,16 +39912,38 @@
 
 func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38783,32 +40067,33 @@
 type SubaccountsPatchCall struct {
 	s          *Service
 	profileId  int64
+	id         int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing subaccount. This method supports patch
 // semantics.
 func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
-	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -38821,9 +40106,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -38915,29 +40205,29 @@
 	s          *Service
 	profileId  int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing subaccount.
 func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
-	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -38950,9 +40240,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -39033,27 +40327,26 @@
 // method id "dfareporting.targetableRemarketingLists.get":
 
 type TargetableRemarketingListsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one remarketing list by ID.
 func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
-	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetableRemarketingListsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39063,13 +40356,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39077,17 +40370,21 @@
 
 func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39170,31 +40467,31 @@
 type TargetableRemarketingListsListCall struct {
 	s            *Service
 	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	advertiserId int64
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves a list of targetable remarketing lists, possibly
 // filtered.
 func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
-	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetableRemarketingListsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.advertiserId = advertiserId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active or
 // only inactive targetable remarketing lists.
 func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -39207,14 +40504,14 @@
 // of "remarketing list" will match objects with name "my remarketing
 // list", "remarketing list 2015", or simply "remarketing list".
 func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -39225,7 +40522,7 @@
 //   "ID"
 //   "NAME"
 func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -39236,15 +40533,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39254,13 +40551,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 	c.ctx_ = ctx
 	return c
@@ -39268,16 +40565,39 @@
 
 func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("advertiserId", fmt.Sprintf("%v", c.advertiserId))
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39406,25 +40726,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by ID.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39434,13 +40753,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39448,16 +40767,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39531,23 +40854,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39557,13 +40879,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -39571,14 +40893,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39640,27 +40966,26 @@
 // method id "dfareporting.userRolePermissionGroups.get":
 
 type UserRolePermissionGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role permission group by ID.
 func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
-	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39670,13 +40995,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39684,17 +41009,21 @@
 
 func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39775,25 +41104,24 @@
 // method id "dfareporting.userRolePermissionGroups.list":
 
 type UserRolePermissionGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of all supported user role permission groups.
 func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
-	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39803,13 +41131,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -39817,16 +41145,20 @@
 
 func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39900,27 +41232,26 @@
 // method id "dfareporting.userRolePermissions.get":
 
 type UserRolePermissionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role permission by ID.
 func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
-	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39930,13 +41261,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39944,17 +41275,21 @@
 
 func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40035,36 +41370,31 @@
 // method id "dfareporting.userRolePermissions.list":
 
 type UserRolePermissionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of user role permissions, possibly filtered.
 func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
-	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user role
 // permissions with these IDs.
-func (c *UserRolePermissionsListCall) Ids(ids []int64) *UserRolePermissionsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *UserRolePermissionsListCall) Ids(ids int64) *UserRolePermissionsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40074,13 +41404,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -40088,16 +41418,23 @@
 
 func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40177,32 +41514,32 @@
 // method id "dfareporting.userRoles.delete":
 
 type UserRolesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing user role.
 func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
-	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -40210,9 +41547,13 @@
 
 func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -40271,27 +41612,26 @@
 // method id "dfareporting.userRoles.get":
 
 type UserRolesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role by ID.
 func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
-	c := &UserRolesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40301,13 +41641,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -40315,17 +41655,21 @@
 
 func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40406,32 +41750,32 @@
 // method id "dfareporting.userRoles.insert":
 
 type UserRolesInsertCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new user role.
 func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
-	c := &UserRolesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -40444,9 +41788,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -40527,16 +41875,15 @@
 // method id "dfareporting.userRoles.list":
 
 type UserRolesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of user roles, possibly filtered.
 func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
-	c := &UserRolesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -40545,32 +41892,28 @@
 // "accountUserRoleOnly": Select only account level user roles not
 // associated with any specific subaccount.
 func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
-	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprintf("%v", accountUserRoleOnly))
+	c.opt_["accountUserRoleOnly"] = accountUserRoleOnly
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user roles with
 // the specified IDs.
-func (c *UserRolesListCall) Ids(ids []int64) *UserRolesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *UserRolesListCall) Ids(ids int64) *UserRolesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -40583,7 +41926,7 @@
 // of "userrole" will match objects with name "my userrole", "userrole
 // 2015", or simply "userrole".
 func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -40594,7 +41937,7 @@
 //   "ID"
 //   "NAME"
 func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -40605,22 +41948,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // user roles that belong to this subaccount.
 func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40630,13 +41973,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 	c.ctx_ = ctx
 	return c
@@ -40644,16 +41987,44 @@
 
 func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["accountUserRoleOnly"]; ok {
+		params.Set("accountUserRoleOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40786,34 +42157,35 @@
 // method id "dfareporting.userRoles.patch":
 
 type UserRolesPatchCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing user role. This method supports patch
 // semantics.
 func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
-	c := &UserRolesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -40826,9 +42198,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -40917,32 +42294,32 @@
 // method id "dfareporting.userRoles.update":
 
 type UserRolesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing user role.
 func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
-	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -40955,9 +42332,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
diff --git a/dfareporting/v2.2/dfareporting-gen.go b/dfareporting/v2.2/dfareporting-gen.go
index 06c2e69..5344d7f 100644
--- a/dfareporting/v2.2/dfareporting-gen.go
+++ b/dfareporting/v2.2/dfareporting-gen.go
@@ -10496,24 +10496,23 @@
 	s                *Service
 	profileId        int64
 	summaryAccountId int64
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Gets the account's active ad summary by account ID.
 func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
-	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountActiveAdSummariesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.summaryAccountId = summaryAccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10523,13 +10522,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10537,17 +10536,21 @@
 
 func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":        strconv.FormatInt(c.profileId, 10),
 		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10628,27 +10631,26 @@
 // method id "dfareporting.accountPermissionGroups.get":
 
 type AccountPermissionGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account permission group by ID.
 func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
-	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10658,13 +10660,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10672,17 +10674,21 @@
 
 func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10763,25 +10769,24 @@
 // method id "dfareporting.accountPermissionGroups.list":
 
 type AccountPermissionGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of account permission groups.
 func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
-	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10791,13 +10796,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -10805,16 +10810,20 @@
 
 func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10888,27 +10897,26 @@
 // method id "dfareporting.accountPermissions.get":
 
 type AccountPermissionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account permission by ID.
 func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
-	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10918,13 +10926,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10932,17 +10940,21 @@
 
 func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11023,25 +11035,24 @@
 // method id "dfareporting.accountPermissions.list":
 
 type AccountPermissionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of account permissions.
 func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
-	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11051,13 +11062,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11065,16 +11076,20 @@
 
 func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11147,27 +11162,26 @@
 // method id "dfareporting.accountUserProfiles.get":
 
 type AccountUserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account user profile by ID.
 func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
-	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11177,13 +11191,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11191,17 +11205,21 @@
 
 func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11285,29 +11303,29 @@
 	s                  *Service
 	profileId          int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new account user profile.
 func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
-	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -11320,9 +11338,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11403,16 +11425,15 @@
 // method id "dfareporting.accountUserProfiles.list":
 
 type AccountUserProfilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of account user profiles, possibly filtered.
 func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
-	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -11420,32 +11441,28 @@
 // Active sets the optional parameter "active": Select only active user
 // profiles.
 func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user profiles with
 // these IDs.
-func (c *AccountUserProfilesListCall) Ids(ids []int64) *AccountUserProfilesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AccountUserProfilesListCall) Ids(ids int64) *AccountUserProfilesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -11459,7 +11476,7 @@
 // name "my user profile", "user profile 2015", or simply "user
 // profile".
 func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -11470,7 +11487,7 @@
 //   "ID"
 //   "NAME"
 func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -11481,29 +11498,29 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // user profiles with the specified subaccount ID.
 func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
 // UserRoleId sets the optional parameter "userRoleId": Select only user
 // profiles with the specified user role ID.
 func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
-	c.urlParams_.Set("userRoleId", fmt.Sprintf("%v", userRoleId))
+	c.opt_["userRoleId"] = userRoleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11513,13 +11530,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11527,16 +11544,47 @@
 
 func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userRoleId"]; ok {
+		params.Set("userRoleId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11677,32 +11725,33 @@
 type AccountUserProfilesPatchCall struct {
 	s                  *Service
 	profileId          int64
+	id                 int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing account user profile. This method supports
 // patch semantics.
 func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
-	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -11715,9 +11764,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11809,29 +11863,29 @@
 	s                  *Service
 	profileId          int64
 	accountuserprofile *AccountUserProfile
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing account user profile.
 func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
-	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountUserProfilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11844,9 +11898,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -11927,27 +11985,26 @@
 // method id "dfareporting.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one account by ID.
 func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11957,13 +12014,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11971,17 +12028,21 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12062,16 +12123,15 @@
 // method id "dfareporting.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves the list of accounts, possibly filtered.
 func (r *AccountsService) List(profileId int64) *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -12080,32 +12140,28 @@
 // accounts. Don't set this field to select both active and non-active
 // accounts.
 func (c *AccountsListCall) Active(active bool) *AccountsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only accounts with
 // these IDs.
-func (c *AccountsListCall) Ids(ids []int64) *AccountsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AccountsListCall) Ids(ids int64) *AccountsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -12118,7 +12174,7 @@
 // match objects with name "my account", "account 2015", or simply
 // "account".
 func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -12129,7 +12185,7 @@
 //   "ID"
 //   "NAME"
 func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -12140,15 +12196,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12158,13 +12214,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12172,16 +12228,41 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12308,34 +12389,35 @@
 // method id "dfareporting.accounts.patch":
 
 type AccountsPatchCall struct {
-	s          *Service
-	profileId  int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
 func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
-	c := &AccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12348,9 +12430,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12439,32 +12526,32 @@
 // method id "dfareporting.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing account.
 func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.account = account
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -12477,9 +12564,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12560,27 +12651,26 @@
 // method id "dfareporting.ads.get":
 
 type AdsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one ad by ID.
 func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
-	c := &AdsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12590,13 +12680,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12604,17 +12694,21 @@
 
 func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12695,32 +12789,32 @@
 // method id "dfareporting.ads.insert":
 
 type AdsInsertCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new ad.
 func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
-	c := &AdsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12733,9 +12827,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -12816,59 +12914,50 @@
 // method id "dfareporting.ads.list":
 
 type AdsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of ads, possibly filtered.
 func (r *AdsService) List(profileId int64) *AdsListCall {
-	c := &AdsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active ads.
 func (c *AdsListCall) Active(active bool) *AdsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // ads with this advertiser ID.
 func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // Archived sets the optional parameter "archived": Select only archived
 // ads.
 func (c *AdsListCall) Archived(archived bool) *AdsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 // Select only ads with these audience segment IDs.
-func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds []int64) *AdsListCall {
-	var audienceSegmentIds_ []string
-	for _, v := range audienceSegmentIds {
-		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
+func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds int64) *AdsListCall {
+	c.opt_["audienceSegmentIds"] = audienceSegmentIds
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // ads with these campaign IDs.
-func (c *AdsListCall) CampaignIds(campaignIds []int64) *AdsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *AdsListCall) CampaignIds(campaignIds int64) *AdsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
@@ -12887,30 +12976,22 @@
 //   "WEB"
 //   "WEB_INTERSTITIAL"
 func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
-	c.urlParams_.Set("compatibility", compatibility)
+	c.opt_["compatibility"] = compatibility
 	return c
 }
 
 // CreativeIds sets the optional parameter "creativeIds": Select only
 // ads with these creative IDs assigned.
-func (c *AdsListCall) CreativeIds(creativeIds []int64) *AdsListCall {
-	var creativeIds_ []string
-	for _, v := range creativeIds {
-		creativeIds_ = append(creativeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeIds", creativeIds_)
+func (c *AdsListCall) CreativeIds(creativeIds int64) *AdsListCall {
+	c.opt_["creativeIds"] = creativeIds
 	return c
 }
 
 // CreativeOptimizationConfigurationIds sets the optional parameter
 // "creativeOptimizationConfigurationIds": Select only ads with these
 // creative optimization configuration IDs.
-func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds []int64) *AdsListCall {
-	var creativeOptimizationConfigurationIds_ []string
-	for _, v := range creativeOptimizationConfigurationIds {
-		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
+func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds int64) *AdsListCall {
+	c.opt_["creativeOptimizationConfigurationIds"] = creativeOptimizationConfigurationIds
 	return c
 }
 
@@ -12943,7 +13024,7 @@
 //   "VPAID_LINEAR"
 //   "VPAID_NON_LINEAR"
 func (c *AdsListCall) CreativeType(creativeType string) *AdsListCall {
-	c.urlParams_.Set("creativeType", creativeType)
+	c.opt_["creativeType"] = creativeType
 	return c
 }
 
@@ -12953,36 +13034,28 @@
 // trackers. If false, select static click trackers. Leave unset to
 // select both.
 func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
-	c.urlParams_.Set("dynamicClickTracker", fmt.Sprintf("%v", dynamicClickTracker))
+	c.opt_["dynamicClickTracker"] = dynamicClickTracker
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only ads with these
 // IDs.
-func (c *AdsListCall) Ids(ids []int64) *AdsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdsListCall) Ids(ids int64) *AdsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // LandingPageIds sets the optional parameter "landingPageIds": Select
 // only ads with these landing page IDs.
-func (c *AdsListCall) LandingPageIds(landingPageIds []int64) *AdsListCall {
-	var landingPageIds_ []string
-	for _, v := range landingPageIds {
-		landingPageIds_ = append(landingPageIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
+func (c *AdsListCall) LandingPageIds(landingPageIds int64) *AdsListCall {
+	c.opt_["landingPageIds"] = landingPageIds
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12990,37 +13063,29 @@
 // "overriddenEventTagId": Select only ads with this event tag override
 // ID.
 func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
-	c.urlParams_.Set("overriddenEventTagId", fmt.Sprintf("%v", overriddenEventTagId))
+	c.opt_["overriddenEventTagId"] = overriddenEventTagId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PlacementIds sets the optional parameter "placementIds": Select only
 // ads with these placement IDs assigned.
-func (c *AdsListCall) PlacementIds(placementIds []int64) *AdsListCall {
-	var placementIds_ []string
-	for _, v := range placementIds {
-		placementIds_ = append(placementIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementIds", placementIds_)
+func (c *AdsListCall) PlacementIds(placementIds int64) *AdsListCall {
+	c.opt_["placementIds"] = placementIds
 	return c
 }
 
 // RemarketingListIds sets the optional parameter "remarketingListIds":
 // Select only ads whose list targeting expression use these remarketing
 // list IDs.
-func (c *AdsListCall) RemarketingListIds(remarketingListIds []int64) *AdsListCall {
-	var remarketingListIds_ []string
-	for _, v := range remarketingListIds {
-		remarketingListIds_ = append(remarketingListIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
+func (c *AdsListCall) RemarketingListIds(remarketingListIds int64) *AdsListCall {
+	c.opt_["remarketingListIds"] = remarketingListIds
 	return c
 }
 
@@ -13032,18 +13097,14 @@
 // string. For example, a search string of "ad" will match objects with
 // name "my ad", "ad 2015", or simply "ad".
 func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only ads with
 // these size IDs.
-func (c *AdsListCall) SizeIds(sizeIds []int64) *AdsListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *AdsListCall) SizeIds(sizeIds int64) *AdsListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -13054,7 +13115,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdsListCall) SortField(sortField string) *AdsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -13065,21 +13126,21 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SslCompliant sets the optional parameter "sslCompliant": Select only
 // ads that are SSL-compliant.
 func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
-	c.urlParams_.Set("sslCompliant", fmt.Sprintf("%v", sslCompliant))
+	c.opt_["sslCompliant"] = sslCompliant
 	return c
 }
 
 // SslRequired sets the optional parameter "sslRequired": Select only
 // ads that require SSL.
 func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
-	c.urlParams_.Set("sslRequired", fmt.Sprintf("%v", sslRequired))
+	c.opt_["sslRequired"] = sslRequired
 	return c
 }
 
@@ -13091,16 +13152,16 @@
 //   "AD_SERVING_DEFAULT_AD"
 //   "AD_SERVING_STANDARD_AD"
 //   "AD_SERVING_TRACKING"
-func (c *AdsListCall) Type(type_ []string) *AdsListCall {
-	c.urlParams_.SetMulti("type_", append([]string{}, type_...))
+func (c *AdsListCall) Type(type_ string) *AdsListCall {
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13110,13 +13171,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13124,16 +13185,92 @@
 
 func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["audienceSegmentIds"]; ok {
+		params.Set("audienceSegmentIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["compatibility"]; ok {
+		params.Set("compatibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeIds"]; ok {
+		params.Set("creativeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeOptimizationConfigurationIds"]; ok {
+		params.Set("creativeOptimizationConfigurationIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeType"]; ok {
+		params.Set("creativeType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dynamicClickTracker"]; ok {
+		params.Set("dynamicClickTracker", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["landingPageIds"]; ok {
+		params.Set("landingPageIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["overriddenEventTagId"]; ok {
+		params.Set("overriddenEventTagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementIds"]; ok {
+		params.Set("placementIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["remarketingListIds"]; ok {
+		params.Set("remarketingListIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sslCompliant"]; ok {
+		params.Set("sslCompliant", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sslRequired"]; ok {
+		params.Set("sslRequired", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13442,33 +13579,34 @@
 // method id "dfareporting.ads.patch":
 
 type AdsPatchCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing ad. This method supports patch semantics.
 func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
-	c := &AdsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -13481,9 +13619,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13572,32 +13715,32 @@
 // method id "dfareporting.ads.update":
 
 type AdsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	ad         *Ad
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	ad        *Ad
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing ad.
 func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
-	c := &AdsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.ad = ad
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13610,9 +13753,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13693,32 +13840,32 @@
 // method id "dfareporting.advertiserGroups.delete":
 
 type AdvertiserGroupsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing advertiser group.
 func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
-	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13726,9 +13873,13 @@
 
 func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -13787,27 +13938,26 @@
 // method id "dfareporting.advertiserGroups.get":
 
 type AdvertiserGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one advertiser group by ID.
 func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
-	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13817,13 +13967,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -13831,17 +13981,21 @@
 
 func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13925,29 +14079,29 @@
 	s               *Service
 	profileId       int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new advertiser group.
 func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
-	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13960,9 +14114,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14043,42 +14201,37 @@
 // method id "dfareporting.advertiserGroups.list":
 
 type AdvertiserGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of advertiser groups, possibly filtered.
 func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
-	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only advertiser groups
 // with these IDs.
-func (c *AdvertiserGroupsListCall) Ids(ids []int64) *AdvertiserGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdvertiserGroupsListCall) Ids(ids int64) *AdvertiserGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14092,7 +14245,7 @@
 // with name "my advertisergroup", "advertisergroup 2015", or simply
 // "advertisergroup".
 func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -14103,7 +14256,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -14114,15 +14267,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14132,13 +14285,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -14146,16 +14299,38 @@
 
 func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14279,32 +14454,33 @@
 type AdvertiserGroupsPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing advertiser group. This method supports
 // patch semantics.
 func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
-	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -14317,9 +14493,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14411,29 +14592,29 @@
 	s               *Service
 	profileId       int64
 	advertisergroup *AdvertiserGroup
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing advertiser group.
 func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
-	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertiserGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertisergroup = advertisergroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -14446,9 +14627,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14529,27 +14714,26 @@
 // method id "dfareporting.advertisers.get":
 
 type AdvertisersGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one advertiser by ID.
 func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
-	c := &AdvertisersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14559,13 +14743,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -14573,17 +14757,21 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14667,29 +14855,29 @@
 	s          *Service
 	profileId  int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new advertiser.
 func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
-	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14702,9 +14890,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -14785,51 +14977,38 @@
 // method id "dfareporting.advertisers.list":
 
 type AdvertisersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of advertisers, possibly filtered.
 func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
-	c := &AdvertisersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 // Select only advertisers with these advertiser group IDs.
-func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds []int64) *AdvertisersListCall {
-	var advertiserGroupIds_ []string
-	for _, v := range advertiserGroupIds {
-		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
+func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds int64) *AdvertisersListCall {
+	c.opt_["advertiserGroupIds"] = advertiserGroupIds
 	return c
 }
 
 // FloodlightConfigurationIds sets the optional parameter
 // "floodlightConfigurationIds": Select only advertisers with these
 // floodlight configuration IDs.
-func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds []int64) *AdvertisersListCall {
-	var floodlightConfigurationIds_ []string
-	for _, v := range floodlightConfigurationIds {
-		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
+func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds int64) *AdvertisersListCall {
+	c.opt_["floodlightConfigurationIds"] = floodlightConfigurationIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only advertisers with
 // these IDs.
-func (c *AdvertisersListCall) Ids(ids []int64) *AdvertisersListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *AdvertisersListCall) Ids(ids int64) *AdvertisersListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -14837,28 +15016,28 @@
 // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 // do not belong to any advertiser group.
 func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
-	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprintf("%v", includeAdvertisersWithoutGroupsOnly))
+	c.opt_["includeAdvertisersWithoutGroupsOnly"] = includeAdvertisersWithoutGroupsOnly
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OnlyParent sets the optional parameter "onlyParent": Select only
 // advertisers which use another advertiser's floodlight configuration.
 func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
-	c.urlParams_.Set("onlyParent", fmt.Sprintf("%v", onlyParent))
+	c.opt_["onlyParent"] = onlyParent
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14871,7 +15050,7 @@
 // string of "advertiser" will match objects with name "my advertiser",
 // "advertiser 2015", or simply "advertiser".
 func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -14882,7 +15061,7 @@
 //   "ID"
 //   "NAME"
 func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -14893,7 +15072,7 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -14904,22 +15083,22 @@
 //   "APPROVED"
 //   "ON_HOLD"
 func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
-	c.urlParams_.Set("status", status)
+	c.opt_["status"] = status
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // advertisers with these subaccount IDs.
 func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14929,13 +15108,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 	c.ctx_ = ctx
 	return c
@@ -14943,16 +15122,56 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserGroupIds"]; ok {
+		params.Set("advertiserGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationIds"]; ok {
+		params.Set("floodlightConfigurationIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeAdvertisersWithoutGroupsOnly"]; ok {
+		params.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onlyParent"]; ok {
+		params.Set("onlyParent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15119,32 +15338,33 @@
 type AdvertisersPatchCall struct {
 	s          *Service
 	profileId  int64
+	id         int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing advertiser. This method supports patch
 // semantics.
 func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
-	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -15157,9 +15377,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -15251,29 +15476,29 @@
 	s          *Service
 	profileId  int64
 	advertiser *Advertiser
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing advertiser.
 func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
-	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiser = advertiser
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -15286,9 +15511,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -15369,25 +15598,24 @@
 // method id "dfareporting.browsers.list":
 
 type BrowsersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of browsers.
 func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
-	c := &BrowsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BrowsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15397,13 +15625,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -15411,16 +15639,20 @@
 
 func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15497,7 +15729,7 @@
 	profileId                   int64
 	campaignId                  int64
 	campaigncreativeassociation *CampaignCreativeAssociation
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
@@ -15505,24 +15737,24 @@
 // method creates a default ad with dimensions matching the creative in
 // the campaign if such a default ad does not exist already.
 func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
-	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignCreativeAssociationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.campaigncreativeassociation = campaigncreativeassociation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15535,9 +15767,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -15627,18 +15863,17 @@
 // method id "dfareporting.campaignCreativeAssociations.list":
 
 type CampaignCreativeAssociationsListCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieves the list of creative IDs associated with the
 // specified campaign.
 func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
-	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignCreativeAssociationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	return c
@@ -15647,14 +15882,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -15665,15 +15900,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15683,13 +15918,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -15697,17 +15932,30 @@
 
 func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
 		"campaignId": strconv.FormatInt(c.campaignId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15814,27 +16062,26 @@
 // method id "dfareporting.campaigns.get":
 
 type CampaignsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one campaign by ID.
 func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
-	c := &CampaignsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15844,13 +16091,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -15858,17 +16105,21 @@
 
 func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15949,34 +16200,36 @@
 // method id "dfareporting.campaigns.insert":
 
 type CampaignsInsertCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                      *Service
+	profileId              int64
+	defaultLandingPageName string
+	defaultLandingPageUrl  string
+	campaign               *Campaign
+	opt_                   map[string]interface{}
+	ctx_                   context.Context
 }
 
 // Insert: Inserts a new campaign.
 func (r *CampaignsService) Insert(profileId int64, defaultLandingPageName string, defaultLandingPageUrl string, campaign *Campaign) *CampaignsInsertCall {
-	c := &CampaignsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("defaultLandingPageName", defaultLandingPageName)
-	c.urlParams_.Set("defaultLandingPageUrl", defaultLandingPageUrl)
+	c.defaultLandingPageName = defaultLandingPageName
+	c.defaultLandingPageUrl = defaultLandingPageUrl
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15989,9 +16242,15 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("defaultLandingPageName", fmt.Sprintf("%v", c.defaultLandingPageName))
+	params.Set("defaultLandingPageUrl", fmt.Sprintf("%v", c.defaultLandingPageUrl))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16086,16 +16345,15 @@
 // method id "dfareporting.campaigns.list":
 
 type CampaignsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of campaigns, possibly filtered.
 func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
-	c := &CampaignsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -16103,23 +16361,15 @@
 // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 // Select only campaigns whose advertisers belong to these advertiser
 // groups.
-func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds []int64) *CampaignsListCall {
-	var advertiserGroupIds_ []string
-	for _, v := range advertiserGroupIds {
-		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
+func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds int64) *CampaignsListCall {
+	c.opt_["advertiserGroupIds"] = advertiserGroupIds
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only campaigns that belong to these advertisers.
-func (c *CampaignsListCall) AdvertiserIds(advertiserIds []int64) *CampaignsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CampaignsListCall) AdvertiserIds(advertiserIds int64) *CampaignsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -16127,7 +16377,7 @@
 // campaigns. Don't set this field to select both archived and
 // non-archived campaigns.
 func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
@@ -16135,36 +16385,28 @@
 // "atLeastOneOptimizationActivity": Select only campaigns that have at
 // least one optimization activity.
 func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
-	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprintf("%v", atLeastOneOptimizationActivity))
+	c.opt_["atLeastOneOptimizationActivity"] = atLeastOneOptimizationActivity
 	return c
 }
 
 // ExcludedIds sets the optional parameter "excludedIds": Exclude
 // campaigns with these IDs.
-func (c *CampaignsListCall) ExcludedIds(excludedIds []int64) *CampaignsListCall {
-	var excludedIds_ []string
-	for _, v := range excludedIds {
-		excludedIds_ = append(excludedIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("excludedIds", excludedIds_)
+func (c *CampaignsListCall) ExcludedIds(excludedIds int64) *CampaignsListCall {
+	c.opt_["excludedIds"] = excludedIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only campaigns with
 // these IDs.
-func (c *CampaignsListCall) Ids(ids []int64) *CampaignsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CampaignsListCall) Ids(ids int64) *CampaignsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16172,14 +16414,14 @@
 // "overriddenEventTagId": Select only campaigns that have overridden
 // this event tag ID.
 func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
-	c.urlParams_.Set("overriddenEventTagId", fmt.Sprintf("%v", overriddenEventTagId))
+	c.opt_["overriddenEventTagId"] = overriddenEventTagId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -16192,7 +16434,7 @@
 // of "campaign" will match campaigns with name "my campaign", "campaign
 // 2015", or simply "campaign".
 func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -16203,7 +16445,7 @@
 //   "ID"
 //   "NAME"
 func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -16214,22 +16456,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // campaigns that belong to this subaccount.
 func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16239,13 +16481,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 	c.ctx_ = ctx
 	return c
@@ -16253,16 +16495,59 @@
 
 func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserGroupIds"]; ok {
+		params.Set("advertiserGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["atLeastOneOptimizationActivity"]; ok {
+		params.Set("atLeastOneOptimizationActivity", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["excludedIds"]; ok {
+		params.Set("excludedIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["overriddenEventTagId"]; ok {
+		params.Set("overriddenEventTagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16427,34 +16712,35 @@
 // method id "dfareporting.campaigns.patch":
 
 type CampaignsPatchCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	campaign  *Campaign
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing campaign. This method supports patch
 // semantics.
 func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
-	c := &CampaignsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -16467,9 +16753,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16558,32 +16849,32 @@
 // method id "dfareporting.campaigns.update":
 
 type CampaignsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	campaign   *Campaign
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	campaign  *Campaign
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing campaign.
 func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
-	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CampaignsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaign = campaign
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -16596,9 +16887,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -16679,27 +16974,26 @@
 // method id "dfareporting.changeLogs.get":
 
 type ChangeLogsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one change log by ID.
 func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
-	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangeLogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16709,13 +17003,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -16723,17 +17017,21 @@
 
 func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16814,16 +17112,15 @@
 // method id "dfareporting.changeLogs.list":
 
 type ChangeLogsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of change logs.
 func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
-	c := &ChangeLogsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangeLogsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -16850,18 +17147,14 @@
 //   "ACTION_UNLINK"
 //   "ACTION_UPDATE"
 func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
-	c.urlParams_.Set("action", action)
+	c.opt_["action"] = action
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only change logs with
 // these IDs.
-func (c *ChangeLogsListCall) Ids(ids []int64) *ChangeLogsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ChangeLogsListCall) Ids(ids int64) *ChangeLogsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -16874,14 +17167,14 @@
 // the letter T, the hour (24-hour clock system), minute, second, and
 // then the time zone offset.
 func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
-	c.urlParams_.Set("maxChangeTime", maxChangeTime)
+	c.opt_["maxChangeTime"] = maxChangeTime
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -16894,18 +17187,14 @@
 // the letter T, the hour (24-hour clock system), minute, second, and
 // then the time zone offset.
 func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
-	c.urlParams_.Set("minChangeTime", minChangeTime)
+	c.opt_["minChangeTime"] = minChangeTime
 	return c
 }
 
 // ObjectIds sets the optional parameter "objectIds": Select only change
 // logs with these object IDs.
-func (c *ChangeLogsListCall) ObjectIds(objectIds []int64) *ChangeLogsListCall {
-	var objectIds_ []string
-	for _, v := range objectIds {
-		objectIds_ = append(objectIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("objectIds", objectIds_)
+func (c *ChangeLogsListCall) ObjectIds(objectIds int64) *ChangeLogsListCall {
+	c.opt_["objectIds"] = objectIds
 	return c
 }
 
@@ -16950,14 +17239,14 @@
 //   "OBJECT_USER_PROFILE_FILTER"
 //   "OBJECT_USER_ROLE"
 func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
-	c.urlParams_.Set("objectType", objectType)
+	c.opt_["objectType"] = objectType
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -16965,26 +17254,22 @@
 // change logs whose object ID, user name, old or new values match the
 // search string.
 func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // UserProfileIds sets the optional parameter "userProfileIds": Select
 // only change logs with these user profile IDs.
-func (c *ChangeLogsListCall) UserProfileIds(userProfileIds []int64) *ChangeLogsListCall {
-	var userProfileIds_ []string
-	for _, v := range userProfileIds {
-		userProfileIds_ = append(userProfileIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
+func (c *ChangeLogsListCall) UserProfileIds(userProfileIds int64) *ChangeLogsListCall {
+	c.opt_["userProfileIds"] = userProfileIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16994,13 +17279,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 	c.ctx_ = ctx
 	return c
@@ -17008,16 +17293,50 @@
 
 func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["action"]; ok {
+		params.Set("action", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxChangeTime"]; ok {
+		params.Set("maxChangeTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minChangeTime"]; ok {
+		params.Set("minChangeTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["objectIds"]; ok {
+		params.Set("objectIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["objectType"]; ok {
+		params.Set("objectType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userProfileIds"]; ok {
+		params.Set("userProfileIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17261,65 +17580,52 @@
 // method id "dfareporting.cities.list":
 
 type CitiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of cities, possibly filtered.
 func (r *CitiesService) List(profileId int64) *CitiesListCall {
-	c := &CitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // CountryDartIds sets the optional parameter "countryDartIds": Select
 // only cities from these countries.
-func (c *CitiesListCall) CountryDartIds(countryDartIds []int64) *CitiesListCall {
-	var countryDartIds_ []string
-	for _, v := range countryDartIds {
-		countryDartIds_ = append(countryDartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
+func (c *CitiesListCall) CountryDartIds(countryDartIds int64) *CitiesListCall {
+	c.opt_["countryDartIds"] = countryDartIds
 	return c
 }
 
 // DartIds sets the optional parameter "dartIds": Select only cities
 // with these DART IDs.
-func (c *CitiesListCall) DartIds(dartIds []int64) *CitiesListCall {
-	var dartIds_ []string
-	for _, v := range dartIds {
-		dartIds_ = append(dartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("dartIds", dartIds_)
+func (c *CitiesListCall) DartIds(dartIds int64) *CitiesListCall {
+	c.opt_["dartIds"] = dartIds
 	return c
 }
 
 // NamePrefix sets the optional parameter "namePrefix": Select only
 // cities with names starting with this prefix.
 func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
-	c.urlParams_.Set("namePrefix", namePrefix)
+	c.opt_["namePrefix"] = namePrefix
 	return c
 }
 
 // RegionDartIds sets the optional parameter "regionDartIds": Select
 // only cities from these regions.
-func (c *CitiesListCall) RegionDartIds(regionDartIds []int64) *CitiesListCall {
-	var regionDartIds_ []string
-	for _, v := range regionDartIds {
-		regionDartIds_ = append(regionDartIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
+func (c *CitiesListCall) RegionDartIds(regionDartIds int64) *CitiesListCall {
+	c.opt_["regionDartIds"] = regionDartIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17329,13 +17635,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -17343,16 +17649,32 @@
 
 func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["countryDartIds"]; ok {
+		params.Set("countryDartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dartIds"]; ok {
+		params.Set("dartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["namePrefix"]; ok {
+		params.Set("namePrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionDartIds"]; ok {
+		params.Set("regionDartIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17451,27 +17773,26 @@
 // method id "dfareporting.connectionTypes.get":
 
 type ConnectionTypesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one connection type by ID.
 func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
-	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConnectionTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17481,13 +17802,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17495,17 +17816,21 @@
 
 func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17586,25 +17911,24 @@
 // method id "dfareporting.connectionTypes.list":
 
 type ConnectionTypesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of connection types.
 func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
-	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConnectionTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17614,13 +17938,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -17628,16 +17952,20 @@
 
 func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17710,32 +18038,32 @@
 // method id "dfareporting.contentCategories.delete":
 
 type ContentCategoriesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing content category.
 func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
-	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -17743,9 +18071,13 @@
 
 func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -17804,27 +18136,26 @@
 // method id "dfareporting.contentCategories.get":
 
 type ContentCategoriesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one content category by ID.
 func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
-	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17834,13 +18165,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -17848,17 +18179,21 @@
 
 func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17942,29 +18277,29 @@
 	s               *Service
 	profileId       int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new content category.
 func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
-	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17977,9 +18312,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18060,42 +18399,37 @@
 // method id "dfareporting.contentCategories.list":
 
 type ContentCategoriesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of content categories, possibly filtered.
 func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
-	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only content categories
 // with these IDs.
-func (c *ContentCategoriesListCall) Ids(ids []int64) *ContentCategoriesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ContentCategoriesListCall) Ids(ids int64) *ContentCategoriesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -18109,7 +18443,7 @@
 // name "my contentcategory", "contentcategory 2015", or simply
 // "contentcategory".
 func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -18120,7 +18454,7 @@
 //   "ID"
 //   "NAME"
 func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -18131,15 +18465,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18149,13 +18483,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -18163,16 +18497,38 @@
 
 func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18296,32 +18652,33 @@
 type ContentCategoriesPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing content category. This method supports
 // patch semantics.
 func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
-	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -18334,9 +18691,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18428,29 +18790,29 @@
 	s               *Service
 	profileId       int64
 	contentcategory *ContentCategory
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing content category.
 func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
-	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContentCategoriesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.contentcategory = contentcategory
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -18463,9 +18825,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -18546,27 +18912,26 @@
 // method id "dfareporting.countries.get":
 
 type CountriesGetCall struct {
-	s            *Service
-	profileId    int64
-	dartId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	dartId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one country by ID.
 func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
-	c := &CountriesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CountriesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dartId = dartId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18576,13 +18941,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -18590,17 +18955,21 @@
 
 func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"dartId":    strconv.FormatInt(c.dartId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18681,25 +19050,24 @@
 // method id "dfareporting.countries.list":
 
 type CountriesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of countries.
 func (r *CountriesService) List(profileId int64) *CountriesListCall {
-	c := &CountriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CountriesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -18709,13 +19077,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -18723,16 +19091,20 @@
 
 func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -18809,38 +19181,37 @@
 	profileId             int64
 	advertiserId          int64
 	creativeassetmetadata *CreativeAssetMetadata
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	media_                io.Reader
 	resumable_            googleapi.SizeReaderAt
 	mediaType_            string
 	protocol_             string
-	progressUpdater_      googleapi.ProgressUpdater
 	ctx_                  context.Context
 }
 
 // Insert: Inserts a new creative asset.
 func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
-	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeAssetsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.advertiserId = advertiserId
 	c.creativeassetmetadata = creativeassetmetadata
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *CreativeAssetsInsertCall) Media(r io.Reader) *CreativeAssetsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -18849,28 +19220,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -18883,13 +19253,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -18943,6 +19317,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -18952,7 +19332,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -19032,30 +19412,30 @@
 	profileId       int64
 	creativeFieldId int64
 	id              int64
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes an existing creative field value.
 func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
-	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -19063,9 +19443,13 @@
 
 func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19137,25 +19521,24 @@
 	profileId       int64
 	creativeFieldId int64
 	id              int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets one creative field value by ID.
 func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
-	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19165,13 +19548,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -19179,9 +19562,13 @@
 
 func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19189,8 +19576,8 @@
 		"id":              strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19283,30 +19670,30 @@
 	profileId          int64
 	creativeFieldId    int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new creative field value.
 func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
-	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -19319,9 +19706,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19414,14 +19805,13 @@
 	s               *Service
 	profileId       int64
 	creativeFieldId int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // List: Retrieves a list of creative field values, possibly filtered.
 func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
-	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	return c
@@ -19429,26 +19819,22 @@
 
 // Ids sets the optional parameter "ids": Select only creative field
 // values with these IDs.
-func (c *CreativeFieldValuesListCall) Ids(ids []int64) *CreativeFieldValuesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeFieldValuesListCall) Ids(ids int64) *CreativeFieldValuesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -19456,7 +19842,7 @@
 // searching for creative field values by their values. Wildcards (e.g.
 // *) are not allowed.
 func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -19467,7 +19853,7 @@
 //   "ID"
 //   "VALUE"
 func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -19478,15 +19864,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -19496,13 +19882,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 	c.ctx_ = ctx
 	return c
@@ -19510,17 +19896,39 @@
 
 func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
 		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -19653,33 +20061,34 @@
 	s                  *Service
 	profileId          int64
 	creativeFieldId    int64
+	id                 int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing creative field value. This method supports
 // patch semantics.
 func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
-	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -19692,9 +20101,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19796,30 +20210,30 @@
 	profileId          int64
 	creativeFieldId    int64
 	creativefieldvalue *CreativeFieldValue
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing creative field value.
 func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
-	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldValuesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -19832,9 +20246,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":       strconv.FormatInt(c.profileId, 10),
@@ -19924,32 +20342,32 @@
 // method id "dfareporting.creativeFields.delete":
 
 type CreativeFieldsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing creative field.
 func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
-	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -19957,9 +20375,13 @@
 
 func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20018,27 +20440,26 @@
 // method id "dfareporting.creativeFields.get":
 
 type CreativeFieldsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative field by ID.
 func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
-	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20048,13 +20469,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -20062,17 +20483,21 @@
 
 func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20156,29 +20581,29 @@
 	s             *Service
 	profileId     int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new creative field.
 func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
-	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -20191,9 +20616,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20274,53 +20703,44 @@
 // method id "dfareporting.creativeFields.list":
 
 type CreativeFieldsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creative fields, possibly filtered.
 func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
-	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only creative fields that belong to these advertisers.
-func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds []int64) *CreativeFieldsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds int64) *CreativeFieldsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creative fields
 // with these IDs.
-func (c *CreativeFieldsListCall) Ids(ids []int64) *CreativeFieldsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeFieldsListCall) Ids(ids int64) *CreativeFieldsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -20334,7 +20754,7 @@
 // creative fields with the name "my creativefield", "creativefield
 // 2015", or simply "creativefield".
 func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -20345,7 +20765,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -20356,15 +20776,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20374,13 +20794,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 	c.ctx_ = ctx
 	return c
@@ -20388,16 +20808,41 @@
 
 func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20528,32 +20973,33 @@
 type CreativeFieldsPatchCall struct {
 	s             *Service
 	profileId     int64
+	id            int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing creative field. This method supports patch
 // semantics.
 func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
-	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -20566,9 +21012,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20660,29 +21111,29 @@
 	s             *Service
 	profileId     int64
 	creativefield *CreativeField
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing creative field.
 func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
-	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeFieldsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativefield = creativefield
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -20695,9 +21146,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -20778,27 +21233,26 @@
 // method id "dfareporting.creativeGroups.get":
 
 type CreativeGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative group by ID.
 func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
-	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -20808,13 +21262,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -20822,17 +21276,21 @@
 
 func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -20916,29 +21374,29 @@
 	s             *Service
 	profileId     int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new creative group.
 func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
-	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -20951,9 +21409,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21034,60 +21496,51 @@
 // method id "dfareporting.creativeGroups.list":
 
 type CreativeGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creative groups, possibly filtered.
 func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
-	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only creative groups that belong to these advertisers.
-func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds []int64) *CreativeGroupsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds int64) *CreativeGroupsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // GroupNumber sets the optional parameter "groupNumber": Select only
 // creative groups that belong to this subgroup.
 func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
-	c.urlParams_.Set("groupNumber", fmt.Sprintf("%v", groupNumber))
+	c.opt_["groupNumber"] = groupNumber
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creative groups
 // with these IDs.
-func (c *CreativeGroupsListCall) Ids(ids []int64) *CreativeGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativeGroupsListCall) Ids(ids int64) *CreativeGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -21101,7 +21554,7 @@
 // creative groups with the name "my creativegroup", "creativegroup
 // 2015", or simply "creativegroup".
 func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -21112,7 +21565,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -21123,15 +21576,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21141,13 +21594,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -21155,16 +21608,44 @@
 
 func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupNumber"]; ok {
+		params.Set("groupNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21301,32 +21782,33 @@
 type CreativeGroupsPatchCall struct {
 	s             *Service
 	profileId     int64
+	id            int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing creative group. This method supports patch
 // semantics.
 func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
-	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -21339,9 +21821,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21433,29 +21920,29 @@
 	s             *Service
 	profileId     int64
 	creativegroup *CreativeGroup
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing creative group.
 func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
-	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativeGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creativegroup = creativegroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -21468,9 +21955,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21551,27 +22042,26 @@
 // method id "dfareporting.creatives.get":
 
 type CreativesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one creative by ID.
 func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
-	c := &CreativesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -21581,13 +22071,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -21595,17 +22085,21 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -21686,32 +22180,32 @@
 // method id "dfareporting.creatives.insert":
 
 type CreativesInsertCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new creative.
 func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
-	c := &CreativesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -21724,9 +22218,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -21807,16 +22305,15 @@
 // method id "dfareporting.creatives.list":
 
 type CreativesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of creatives, possibly filtered.
 func (r *CreativesService) List(profileId int64) *CreativesListCall {
-	c := &CreativesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -21824,87 +22321,71 @@
 // Active sets the optional parameter "active": Select only active
 // creatives. Leave blank to select active and inactive creatives.
 func (c *CreativesListCall) Active(active bool) *CreativesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // creatives with this advertiser ID.
 func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // Archived sets the optional parameter "archived": Select only archived
 // creatives. Leave blank to select archived and unarchived creatives.
 func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Select only
 // creatives with this campaign ID.
 func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // CompanionCreativeIds sets the optional parameter
 // "companionCreativeIds": Select only in-stream video creatives with
 // these companion IDs.
-func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds []int64) *CreativesListCall {
-	var companionCreativeIds_ []string
-	for _, v := range companionCreativeIds {
-		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
+func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds int64) *CreativesListCall {
+	c.opt_["companionCreativeIds"] = companionCreativeIds
 	return c
 }
 
 // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 // Select only creatives with these creative field IDs.
-func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds []int64) *CreativesListCall {
-	var creativeFieldIds_ []string
-	for _, v := range creativeFieldIds {
-		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
+func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds int64) *CreativesListCall {
+	c.opt_["creativeFieldIds"] = creativeFieldIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only creatives with
 // these IDs.
-func (c *CreativesListCall) Ids(ids []int64) *CreativesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *CreativesListCall) Ids(ids int64) *CreativesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // RenderingIds sets the optional parameter "renderingIds": Select only
 // creatives with these rendering IDs.
-func (c *CreativesListCall) RenderingIds(renderingIds []int64) *CreativesListCall {
-	var renderingIds_ []string
-	for _, v := range renderingIds {
-		renderingIds_ = append(renderingIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("renderingIds", renderingIds_)
+func (c *CreativesListCall) RenderingIds(renderingIds int64) *CreativesListCall {
+	c.opt_["renderingIds"] = renderingIds
 	return c
 }
 
@@ -21917,18 +22398,14 @@
 // of "creative" will match objects with name "my creative", "creative
 // 2015", or simply "creative".
 func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only creatives
 // with these size IDs.
-func (c *CreativesListCall) SizeIds(sizeIds []int64) *CreativesListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *CreativesListCall) SizeIds(sizeIds int64) *CreativesListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -21939,7 +22416,7 @@
 //   "ID"
 //   "NAME"
 func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -21950,14 +22427,14 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // StudioCreativeId sets the optional parameter "studioCreativeId":
 // Select only creatives corresponding to this Studio creative ID.
 func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
-	c.urlParams_.Set("studioCreativeId", fmt.Sprintf("%v", studioCreativeId))
+	c.opt_["studioCreativeId"] = studioCreativeId
 	return c
 }
 
@@ -21989,16 +22466,16 @@
 //   "VAST_REDIRECT"
 //   "VPAID_LINEAR"
 //   "VPAID_NON_LINEAR"
-func (c *CreativesListCall) Types(types []string) *CreativesListCall {
-	c.urlParams_.SetMulti("types", append([]string{}, types...))
+func (c *CreativesListCall) Types(types string) *CreativesListCall {
+	c.opt_["types"] = types
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22008,13 +22485,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 	c.ctx_ = ctx
 	return c
@@ -22022,16 +22499,68 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["companionCreativeIds"]; ok {
+		params.Set("companionCreativeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creativeFieldIds"]; ok {
+		params.Set("creativeFieldIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["renderingIds"]; ok {
+		params.Set("renderingIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioCreativeId"]; ok {
+		params.Set("studioCreativeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["types"]; ok {
+		params.Set("types", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22267,34 +22796,35 @@
 // method id "dfareporting.creatives.patch":
 
 type CreativesPatchCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing creative. This method supports patch
 // semantics.
 func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
-	c := &CreativesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -22307,9 +22837,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22398,32 +22933,32 @@
 // method id "dfareporting.creatives.update":
 
 type CreativesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	creative   *Creative
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	creative  *Creative
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing creative.
 func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
-	c := &CreativesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CreativesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.creative = creative
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -22436,9 +22971,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22522,14 +23061,14 @@
 	s                     *Service
 	profileId             int64
 	dimensionvaluerequest *DimensionValueRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Query: Retrieves list of report dimension values for a list of
 // filters.
 func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
-	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DimensionValuesQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dimensionvaluerequest = dimensionvaluerequest
 	return c
@@ -22538,28 +23077,28 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -22572,9 +23111,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -22668,27 +23217,26 @@
 // method id "dfareporting.directorySiteContacts.get":
 
 type DirectorySiteContactsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one directory site contact by ID.
 func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
-	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySiteContactsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22698,13 +23246,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -22712,17 +23260,21 @@
 
 func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -22803,16 +23355,15 @@
 // method id "dfareporting.directorySiteContacts.list":
 
 type DirectorySiteContactsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of directory site contacts, possibly filtered.
 func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
-	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySiteContactsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -22820,37 +23371,29 @@
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only directory site contacts with these directory site IDs.
 // This is a required field.
-func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds []int64) *DirectorySiteContactsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds int64) *DirectorySiteContactsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only directory site
 // contacts with these IDs.
-func (c *DirectorySiteContactsListCall) Ids(ids []int64) *DirectorySiteContactsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *DirectorySiteContactsListCall) Ids(ids int64) *DirectorySiteContactsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -22865,7 +23408,7 @@
 // directory site contact", "directory site contact 2015", or simply
 // "directory site contact".
 func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -22876,7 +23419,7 @@
 //   "ID"
 //   "NAME"
 func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -22887,15 +23430,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -22905,13 +23448,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
 	c.ctx_ = ctx
 	return c
@@ -22919,16 +23462,41 @@
 
 func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23058,27 +23626,26 @@
 // method id "dfareporting.directorySites.get":
 
 type DirectorySitesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one directory site by ID.
 func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
-	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23088,13 +23655,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23102,17 +23669,21 @@
 
 func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23196,29 +23767,29 @@
 	s             *Service
 	profileId     int64
 	directorysite *DirectorySite
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts a new directory site.
 func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
-	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.directorysite = directorysite
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -23231,9 +23802,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23314,16 +23889,15 @@
 // method id "dfareporting.directorySites.list":
 
 type DirectorySitesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of directory sites, possibly filtered.
 func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
-	c := &DirectorySitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DirectorySitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -23332,7 +23906,7 @@
 // "acceptsInStreamVideoPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", acceptsInStreamVideoPlacements))
+	c.opt_["acceptsInStreamVideoPlacements"] = acceptsInStreamVideoPlacements
 	return c
 }
 
@@ -23340,7 +23914,7 @@
 // "acceptsInterstitialPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", acceptsInterstitialPlacements))
+	c.opt_["acceptsInterstitialPlacements"] = acceptsInterstitialPlacements
 	return c
 }
 
@@ -23348,7 +23922,7 @@
 // "acceptsPublisherPaidPlacements": Select only directory sites that
 // accept publisher paid placements. This field can be left blank.
 func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
-	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", acceptsPublisherPaidPlacements))
+	c.opt_["acceptsPublisherPaidPlacements"] = acceptsPublisherPaidPlacements
 	return c
 }
 
@@ -23356,53 +23930,49 @@
 // directory sites. Leave blank to retrieve both active and inactive
 // directory sites.
 func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // CountryId sets the optional parameter "countryId": Select only
 // directory sites with this country ID.
 func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
-	c.urlParams_.Set("countryId", fmt.Sprintf("%v", countryId))
+	c.opt_["countryId"] = countryId
 	return c
 }
 
 // DfpNetworkCode sets the optional parameter "dfp_network_code": Select
 // only directory sites with this DFP network code.
 func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
-	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
+	c.opt_["dfp_network_code"] = dfpNetworkCode
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only directory sites
 // with these IDs.
-func (c *DirectorySitesListCall) Ids(ids []int64) *DirectorySitesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *DirectorySitesListCall) Ids(ids int64) *DirectorySitesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // ParentId sets the optional parameter "parentId": Select only
 // directory sites with this parent ID.
 func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
-	c.urlParams_.Set("parentId", fmt.Sprintf("%v", parentId))
+	c.opt_["parentId"] = parentId
 	return c
 }
 
@@ -23416,7 +23986,7 @@
 // name "my directory site", "directory site 2015" or simply, "directory
 // site".
 func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -23427,7 +23997,7 @@
 //   "ID"
 //   "NAME"
 func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -23438,15 +24008,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23456,13 +24026,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -23470,16 +24040,59 @@
 
 func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acceptsInStreamVideoPlacements"]; ok {
+		params.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsInterstitialPlacements"]; ok {
+		params.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsPublisherPaidPlacements"]; ok {
+		params.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["countryId"]; ok {
+		params.Set("countryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dfp_network_code"]; ok {
+		params.Set("dfp_network_code", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["parentId"]; ok {
+		params.Set("parentId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23638,32 +24251,32 @@
 // method id "dfareporting.eventTags.delete":
 
 type EventTagsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing event tag.
 func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
-	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -23671,9 +24284,13 @@
 
 func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23732,27 +24349,26 @@
 // method id "dfareporting.eventTags.get":
 
 type EventTagsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one event tag by ID.
 func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
-	c := &EventTagsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -23762,13 +24378,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -23776,17 +24392,21 @@
 
 func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -23867,32 +24487,32 @@
 // method id "dfareporting.eventTags.insert":
 
 type EventTagsInsertCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new event tag.
 func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
-	c := &EventTagsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -23905,9 +24525,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -23988,16 +24612,15 @@
 // method id "dfareporting.eventTags.list":
 
 type EventTagsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of event tags, possibly filtered.
 func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
-	c := &EventTagsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -24005,21 +24628,21 @@
 // AdId sets the optional parameter "adId": Select only event tags that
 // belong to this ad.
 func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
-	c.urlParams_.Set("adId", fmt.Sprintf("%v", adId))
+	c.opt_["adId"] = adId
 	return c
 }
 
 // AdvertiserId sets the optional parameter "advertiserId": Select only
 // event tags that belong to this advertiser.
 func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Select only
 // event tags that belong to this campaign.
 func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
@@ -24032,7 +24655,7 @@
 // be set to true when adId is specified as ads do not define their own
 // even tags.
 func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
-	c.urlParams_.Set("definitionsOnly", fmt.Sprintf("%v", definitionsOnly))
+	c.opt_["definitionsOnly"] = definitionsOnly
 	return c
 }
 
@@ -24045,7 +24668,7 @@
 // campaign's event tags' enabledByDefault and status fields are
 // examined as well.
 func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
-	c.urlParams_.Set("enabled", fmt.Sprintf("%v", enabled))
+	c.opt_["enabled"] = enabled
 	return c
 }
 
@@ -24059,19 +24682,15 @@
 //   "CLICK_THROUGH_EVENT_TAG"
 //   "IMPRESSION_IMAGE_EVENT_TAG"
 //   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
-func (c *EventTagsListCall) EventTagTypes(eventTagTypes []string) *EventTagsListCall {
-	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
+func (c *EventTagsListCall) EventTagTypes(eventTagTypes string) *EventTagsListCall {
+	c.opt_["eventTagTypes"] = eventTagTypes
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only event tags with
 // these IDs.
-func (c *EventTagsListCall) Ids(ids []int64) *EventTagsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *EventTagsListCall) Ids(ids int64) *EventTagsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -24084,7 +24703,7 @@
 // of "eventtag" will match objects with name "my eventtag", "eventtag
 // 2015", or simply "eventtag".
 func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -24095,7 +24714,7 @@
 //   "ID"
 //   "NAME"
 func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -24106,15 +24725,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24124,13 +24743,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 	c.ctx_ = ctx
 	return c
@@ -24138,16 +24757,50 @@
 
 func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["adId"]; ok {
+		params.Set("adId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["definitionsOnly"]; ok {
+		params.Set("definitionsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["enabled"]; ok {
+		params.Set("enabled", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventTagTypes"]; ok {
+		params.Set("eventTagTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24302,34 +24955,35 @@
 // method id "dfareporting.eventTags.patch":
 
 type EventTagsPatchCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing event tag. This method supports patch
 // semantics.
 func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
-	c := &EventTagsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -24342,9 +24996,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24433,32 +25092,32 @@
 // method id "dfareporting.eventTags.update":
 
 type EventTagsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	eventtag   *EventTag
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	eventtag  *EventTag
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing event tag.
 func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
-	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventTagsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.eventtag = eventtag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -24471,9 +25130,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -24554,27 +25217,26 @@
 // method id "dfareporting.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	reportId int64
+	fileId   int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a report file by its report ID and file ID.
 func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24584,13 +25246,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -24598,17 +25260,21 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId": strconv.FormatInt(c.reportId, 10),
 		"fileId":   strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24705,16 +25371,15 @@
 // method id "dfareporting.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a user profile.
 func (r *FilesService) List(profileId int64) *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -24722,14 +25387,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -24741,7 +25406,7 @@
 //   "MINE" (default) - My files.
 //   "SHARED_WITH_ME" - Files shared with me.
 func (c *FilesListCall) Scope(scope string) *FilesListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -24752,7 +25417,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *FilesListCall) SortField(sortField string) *FilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -24763,15 +25428,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -24781,13 +25446,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -24795,16 +25460,35 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -24934,32 +25618,32 @@
 // method id "dfareporting.floodlightActivities.delete":
 
 type FloodlightActivitiesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing floodlight activity.
 func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
-	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -24967,9 +25651,13 @@
 
 func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25028,15 +25716,15 @@
 // method id "dfareporting.floodlightActivities.generatetag":
 
 type FloodlightActivitiesGeneratetagCall struct {
-	s          *Service
-	profileId  int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generatetag: Generates a tag for a floodlight activity.
 func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
-	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesGeneratetagCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -25045,21 +25733,21 @@
 // "floodlightActivityId": Floodlight activity ID for which we want to
 // generate a tag.
 func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
-	c.urlParams_.Set("floodlightActivityId", fmt.Sprintf("%v", floodlightActivityId))
+	c.opt_["floodlightActivityId"] = floodlightActivityId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 	c.ctx_ = ctx
 	return c
@@ -25067,9 +25755,16 @@
 
 func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["floodlightActivityId"]; ok {
+		params.Set("floodlightActivityId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25153,27 +25848,26 @@
 // method id "dfareporting.floodlightActivities.get":
 
 type FloodlightActivitiesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight activity by ID.
 func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
-	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25183,13 +25877,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -25197,17 +25891,21 @@
 
 func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25291,29 +25989,29 @@
 	s                  *Service
 	profileId          int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Insert: Inserts a new floodlight activity.
 func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
-	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -25326,9 +26024,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25409,16 +26111,15 @@
 // method id "dfareporting.floodlightActivities.list":
 
 type FloodlightActivitiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight activities, possibly filtered.
 func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
-	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -25428,19 +26129,15 @@
 // either ids, advertiserId, or floodlightConfigurationId for a
 // non-empty result.
 func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // FloodlightActivityGroupIds sets the optional parameter
 // "floodlightActivityGroupIds": Select only floodlight activities with
 // the specified floodlight activity group IDs.
-func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds []int64) *FloodlightActivitiesListCall {
-	var floodlightActivityGroupIds_ []string
-	for _, v := range floodlightActivityGroupIds {
-		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
+func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds int64) *FloodlightActivitiesListCall {
+	c.opt_["floodlightActivityGroupIds"] = floodlightActivityGroupIds
 	return c
 }
 
@@ -25448,7 +26145,7 @@
 // "floodlightActivityGroupName": Select only floodlight activities with
 // the specified floodlight activity group name.
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
+	c.opt_["floodlightActivityGroupName"] = floodlightActivityGroupName
 	return c
 }
 
@@ -25456,7 +26153,7 @@
 // "floodlightActivityGroupTagString": Select only floodlight activities
 // with the specified floodlight activity group tag string.
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
+	c.opt_["floodlightActivityGroupTagString"] = floodlightActivityGroupTagString
 	return c
 }
 
@@ -25468,7 +26165,7 @@
 //   "COUNTER"
 //   "SALE"
 func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
+	c.opt_["floodlightActivityGroupType"] = floodlightActivityGroupType
 	return c
 }
 
@@ -25477,33 +26174,29 @@
 // the specified floodlight configuration ID. Must specify either ids,
 // advertiserId, or floodlightConfigurationId for a non-empty result.
 func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprintf("%v", floodlightConfigurationId))
+	c.opt_["floodlightConfigurationId"] = floodlightConfigurationId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only floodlight
 // activities with the specified IDs. Must specify either ids,
 // advertiserId, or floodlightConfigurationId for a non-empty result.
-func (c *FloodlightActivitiesListCall) Ids(ids []int64) *FloodlightActivitiesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightActivitiesListCall) Ids(ids int64) *FloodlightActivitiesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -25517,7 +26210,7 @@
 // objects with name "my floodlightactivity activity",
 // "floodlightactivity 2015", or simply "floodlightactivity".
 func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -25528,7 +26221,7 @@
 //   "ID"
 //   "NAME"
 func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -25539,22 +26232,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // TagString sets the optional parameter "tagString": Select only
 // floodlight activities with the specified tag string.
 func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("tagString", tagString)
+	c.opt_["tagString"] = tagString
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -25564,13 +26257,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -25578,16 +26271,59 @@
 
 func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupIds"]; ok {
+		params.Set("floodlightActivityGroupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupName"]; ok {
+		params.Set("floodlightActivityGroupName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupTagString"]; ok {
+		params.Set("floodlightActivityGroupTagString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityGroupType"]; ok {
+		params.Set("floodlightActivityGroupType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationId"]; ok {
+		params.Set("floodlightConfigurationId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tagString"]; ok {
+		params.Set("tagString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -25758,32 +26494,33 @@
 type FloodlightActivitiesPatchCall struct {
 	s                  *Service
 	profileId          int64
+	id                 int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Patch: Updates an existing floodlight activity. This method supports
 // patch semantics.
 func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
-	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -25796,9 +26533,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -25890,29 +26632,29 @@
 	s                  *Service
 	profileId          int64
 	floodlightactivity *FloodlightActivity
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates an existing floodlight activity.
 func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
-	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivitiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -25925,9 +26667,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26008,32 +26754,32 @@
 // method id "dfareporting.floodlightActivityGroups.delete":
 
 type FloodlightActivityGroupsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing floodlight activity group.
 func (r *FloodlightActivityGroupsService) Delete(profileId int64, id int64) *FloodlightActivityGroupsDeleteCall {
-	c := &FloodlightActivityGroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsDeleteCall) Context(ctx context.Context) *FloodlightActivityGroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -26041,9 +26787,13 @@
 
 func (c *FloodlightActivityGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26102,27 +26852,26 @@
 // method id "dfareporting.floodlightActivityGroups.get":
 
 type FloodlightActivityGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight activity group by ID.
 func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
-	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26132,13 +26881,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26146,17 +26895,21 @@
 
 func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26240,29 +26993,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Insert: Inserts a new floodlight activity group.
 func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
-	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -26275,9 +27028,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26358,17 +27115,16 @@
 // method id "dfareporting.floodlightActivityGroups.list":
 
 type FloodlightActivityGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight activity groups, possibly
 // filtered.
 func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
-	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -26378,7 +27134,7 @@
 // specify either advertiserId or floodlightConfigurationId for a
 // non-empty result.
 func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
@@ -26387,33 +27143,29 @@
 // with the specified floodlight configuration ID. Must specify either
 // advertiserId, or floodlightConfigurationId for a non-empty result.
 func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprintf("%v", floodlightConfigurationId))
+	c.opt_["floodlightConfigurationId"] = floodlightConfigurationId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only floodlight
 // activity groups with the specified IDs. Must specify either
 // advertiserId or floodlightConfigurationId for a non-empty result.
-func (c *FloodlightActivityGroupsListCall) Ids(ids []int64) *FloodlightActivityGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightActivityGroupsListCall) Ids(ids int64) *FloodlightActivityGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -26428,7 +27180,7 @@
 // objects with name "my floodlightactivitygroup activity",
 // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -26439,7 +27191,7 @@
 //   "ID"
 //   "NAME"
 func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -26450,7 +27202,7 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
@@ -26461,15 +27213,15 @@
 //   "COUNTER"
 //   "SALE"
 func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26479,13 +27231,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -26493,16 +27245,47 @@
 
 func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightConfigurationId"]; ok {
+		params.Set("floodlightConfigurationId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -26652,32 +27435,33 @@
 type FloodlightActivityGroupsPatchCall struct {
 	s                       *Service
 	profileId               int64
+	id                      int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Patch: Updates an existing floodlight activity group. This method
 // supports patch semantics.
 func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
-	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -26690,9 +27474,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26784,29 +27573,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightactivitygroup *FloodlightActivityGroup
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Update: Updates an existing floodlight activity group.
 func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
-	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightActivityGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -26819,9 +27608,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -26902,27 +27695,26 @@
 // method id "dfareporting.floodlightConfigurations.get":
 
 type FloodlightConfigurationsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one floodlight configuration by ID.
 func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
-	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -26932,13 +27724,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -26946,17 +27738,21 @@
 
 func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27037,17 +27833,16 @@
 // method id "dfareporting.floodlightConfigurations.list":
 
 type FloodlightConfigurationsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of floodlight configurations, possibly
 // filtered.
 func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
-	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -27055,20 +27850,16 @@
 // Ids sets the optional parameter "ids": Set of IDs of floodlight
 // configurations to retrieve. Required field; otherwise an empty list
 // will be returned.
-func (c *FloodlightConfigurationsListCall) Ids(ids []int64) *FloodlightConfigurationsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *FloodlightConfigurationsListCall) Ids(ids int64) *FloodlightConfigurationsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27078,13 +27869,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27092,16 +27883,23 @@
 
 func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27184,32 +27982,33 @@
 type FloodlightConfigurationsPatchCall struct {
 	s                       *Service
 	profileId               int64
+	id                      int64
 	floodlightconfiguration *FloodlightConfiguration
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Patch: Updates an existing floodlight configuration. This method
 // supports patch semantics.
 func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
-	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -27222,9 +28021,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27316,29 +28120,29 @@
 	s                       *Service
 	profileId               int64
 	floodlightconfiguration *FloodlightConfiguration
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Update: Updates an existing floodlight configuration.
 func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
-	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FloodlightConfigurationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -27351,9 +28155,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27434,29 +28242,28 @@
 // method id "dfareporting.inventoryItems.get":
 
 type InventoryItemsGetCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one inventory item by ID.
 func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
-	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InventoryItemsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27466,13 +28273,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -27480,9 +28287,13 @@
 
 func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -27490,8 +28301,8 @@
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27580,17 +28391,16 @@
 // method id "dfareporting.inventoryItems.list":
 
 type InventoryItemsListCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of inventory items, possibly filtered.
 func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
-	c := &InventoryItemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InventoryItemsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	return c
@@ -27598,55 +28408,43 @@
 
 // Ids sets the optional parameter "ids": Select only inventory items
 // with these IDs.
-func (c *InventoryItemsListCall) Ids(ids []int64) *InventoryItemsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *InventoryItemsListCall) Ids(ids int64) *InventoryItemsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // InPlan sets the optional parameter "inPlan": Select only inventory
 // items that are in plan.
 func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
-	c.urlParams_.Set("inPlan", fmt.Sprintf("%v", inPlan))
+	c.opt_["inPlan"] = inPlan
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OrderId sets the optional parameter "orderId": Select only inventory
 // items that belong to specified orders.
-func (c *InventoryItemsListCall) OrderId(orderId []int64) *InventoryItemsListCall {
-	var orderId_ []string
-	for _, v := range orderId {
-		orderId_ = append(orderId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("orderId", orderId_)
+func (c *InventoryItemsListCall) OrderId(orderId int64) *InventoryItemsListCall {
+	c.opt_["orderId"] = orderId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // SiteId sets the optional parameter "siteId": Select only inventory
 // items that are associated with these sites.
-func (c *InventoryItemsListCall) SiteId(siteId []int64) *InventoryItemsListCall {
-	var siteId_ []string
-	for _, v := range siteId {
-		siteId_ = append(siteId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteId", siteId_)
+func (c *InventoryItemsListCall) SiteId(siteId int64) *InventoryItemsListCall {
+	c.opt_["siteId"] = siteId
 	return c
 }
 
@@ -27657,7 +28455,7 @@
 //   "ID"
 //   "NAME"
 func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -27668,15 +28466,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27686,13 +28484,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -27700,17 +28498,45 @@
 
 func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["inPlan"]; ok {
+		params.Set("inPlan", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderId"]; ok {
+		params.Set("orderId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteId"]; ok {
+		params.Set("siteId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"projectId": strconv.FormatInt(c.projectId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -27858,30 +28684,30 @@
 	profileId  int64
 	campaignId int64
 	id         int64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes an existing campaign landing page.
 func (r *LandingPagesService) Delete(profileId int64, campaignId int64, id int64) *LandingPagesDeleteCall {
-	c := &LandingPagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesDeleteCall) Fields(s ...googleapi.Field) *LandingPagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesDeleteCall) Context(ctx context.Context) *LandingPagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -27889,9 +28715,13 @@
 
 func (c *LandingPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -27959,29 +28789,28 @@
 // method id "dfareporting.landingPages.get":
 
 type LandingPagesGetCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	id         int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets one campaign landing page by ID.
 func (r *LandingPagesService) Get(profileId int64, campaignId int64, id int64) *LandingPagesGetCall {
-	c := &LandingPagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesGetCall) Fields(s ...googleapi.Field) *LandingPagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -27991,13 +28820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LandingPagesGetCall) IfNoneMatch(entityTag string) *LandingPagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesGetCall) Context(ctx context.Context) *LandingPagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28005,9 +28834,13 @@
 
 func (c *LandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28015,8 +28848,8 @@
 		"id":         strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28109,30 +28942,30 @@
 	profileId   int64
 	campaignId  int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Insert: Inserts a new landing page for the specified campaign.
 func (r *LandingPagesService) Insert(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesInsertCall {
-	c := &LandingPagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesInsertCall) Fields(s ...googleapi.Field) *LandingPagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesInsertCall) Context(ctx context.Context) *LandingPagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -28145,9 +28978,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28237,27 +29074,26 @@
 // method id "dfareporting.landingPages.list":
 
 type LandingPagesListCall struct {
-	s            *Service
-	profileId    int64
-	campaignId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	profileId  int64
+	campaignId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Retrieves the list of landing pages for the specified campaign.
 func (r *LandingPagesService) List(profileId int64, campaignId int64) *LandingPagesListCall {
-	c := &LandingPagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesListCall) Fields(s ...googleapi.Field) *LandingPagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28267,13 +29103,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LandingPagesListCall) IfNoneMatch(entityTag string) *LandingPagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesListCall) Context(ctx context.Context) *LandingPagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -28281,17 +29117,21 @@
 
 func (c *LandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
 		"campaignId": strconv.FormatInt(c.campaignId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28375,33 +29215,34 @@
 	s           *Service
 	profileId   int64
 	campaignId  int64
+	id          int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Updates an existing campaign landing page. This method
 // supports patch semantics.
 func (r *LandingPagesService) Patch(profileId int64, campaignId int64, id int64, landingpage *LandingPage) *LandingPagesPatchCall {
-	c := &LandingPagesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesPatchCall) Fields(s ...googleapi.Field) *LandingPagesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesPatchCall) Context(ctx context.Context) *LandingPagesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -28414,9 +29255,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28518,30 +29364,30 @@
 	profileId   int64
 	campaignId  int64
 	landingpage *LandingPage
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates an existing campaign landing page.
 func (r *LandingPagesService) Update(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesUpdateCall {
-	c := &LandingPagesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LandingPagesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.campaignId = campaignId
 	c.landingpage = landingpage
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LandingPagesUpdateCall) Fields(s ...googleapi.Field) *LandingPagesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LandingPagesUpdateCall) Context(ctx context.Context) *LandingPagesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -28554,9 +29400,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":  strconv.FormatInt(c.profileId, 10),
@@ -28646,25 +29496,24 @@
 // method id "dfareporting.metros.list":
 
 type MetrosListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of metros.
 func (r *MetrosService) List(profileId int64) *MetrosListCall {
-	c := &MetrosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetrosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28674,13 +29523,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 	c.ctx_ = ctx
 	return c
@@ -28688,16 +29537,20 @@
 
 func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28770,27 +29623,26 @@
 // method id "dfareporting.mobileCarriers.get":
 
 type MobileCarriersGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one mobile carrier by ID.
 func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
-	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobileCarriersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28800,13 +29652,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -28814,17 +29666,21 @@
 
 func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -28905,25 +29761,24 @@
 // method id "dfareporting.mobileCarriers.list":
 
 type MobileCarriersListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of mobile carriers.
 func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
-	c := &MobileCarriersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MobileCarriersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -28933,13 +29788,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 	c.ctx_ = ctx
 	return c
@@ -28947,16 +29802,20 @@
 
 func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29029,27 +29888,26 @@
 // method id "dfareporting.operatingSystemVersions.get":
 
 type OperatingSystemVersionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one operating system version by ID.
 func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
-	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemVersionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29059,13 +29917,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29073,17 +29931,21 @@
 
 func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29164,25 +30026,24 @@
 // method id "dfareporting.operatingSystemVersions.list":
 
 type OperatingSystemVersionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of operating system versions.
 func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
-	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemVersionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29192,13 +30053,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29206,16 +30067,20 @@
 
 func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29289,27 +30154,26 @@
 // method id "dfareporting.operatingSystems.get":
 
 type OperatingSystemsGetCall struct {
-	s            *Service
-	profileId    int64
-	dartId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	dartId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one operating system by DART ID.
 func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
-	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.dartId = dartId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29319,13 +30183,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29333,17 +30197,21 @@
 
 func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"dartId":    strconv.FormatInt(c.dartId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29424,25 +30292,24 @@
 // method id "dfareporting.operatingSystems.list":
 
 type OperatingSystemsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of operating systems.
 func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
-	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperatingSystemsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29452,13 +30319,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29466,16 +30333,20 @@
 
 func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29548,29 +30419,28 @@
 // method id "dfareporting.orderDocuments.get":
 
 type OrderDocumentsGetCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one order document by ID.
 func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
-	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrderDocumentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29580,13 +30450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -29594,9 +30464,13 @@
 
 func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -29604,8 +30478,8 @@
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29694,17 +30568,16 @@
 // method id "dfareporting.orderDocuments.list":
 
 type OrderDocumentsListCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of order documents, possibly filtered.
 func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
-	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrderDocumentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	return c
@@ -29713,43 +30586,35 @@
 // Approved sets the optional parameter "approved": Select only order
 // documents that have been approved by at least one user.
 func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
-	c.urlParams_.Set("approved", fmt.Sprintf("%v", approved))
+	c.opt_["approved"] = approved
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only order documents
 // with these IDs.
-func (c *OrderDocumentsListCall) Ids(ids []int64) *OrderDocumentsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *OrderDocumentsListCall) Ids(ids int64) *OrderDocumentsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OrderId sets the optional parameter "orderId": Select only order
 // documents for specified orders.
-func (c *OrderDocumentsListCall) OrderId(orderId []int64) *OrderDocumentsListCall {
-	var orderId_ []string
-	for _, v := range orderId {
-		orderId_ = append(orderId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("orderId", orderId_)
+func (c *OrderDocumentsListCall) OrderId(orderId int64) *OrderDocumentsListCall {
+	c.opt_["orderId"] = orderId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -29763,18 +30628,14 @@
 // order documents with name "my orderdocument", "orderdocument 2015",
 // or simply "orderdocument".
 func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteId sets the optional parameter "siteId": Select only order
 // documents that are associated with these sites.
-func (c *OrderDocumentsListCall) SiteId(siteId []int64) *OrderDocumentsListCall {
-	var siteId_ []string
-	for _, v := range siteId {
-		siteId_ = append(siteId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteId", siteId_)
+func (c *OrderDocumentsListCall) SiteId(siteId int64) *OrderDocumentsListCall {
+	c.opt_["siteId"] = siteId
 	return c
 }
 
@@ -29785,7 +30646,7 @@
 //   "ID"
 //   "NAME"
 func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -29796,15 +30657,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -29814,13 +30675,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -29828,17 +30689,48 @@
 
 func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["approved"]; ok {
+		params.Set("approved", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderId"]; ok {
+		params.Set("orderId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteId"]; ok {
+		params.Set("siteId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"projectId": strconv.FormatInt(c.projectId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -29987,29 +30879,28 @@
 // method id "dfareporting.orders.get":
 
 type OrdersGetCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one order by ID.
 func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
-	c := &OrdersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30019,13 +30910,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30033,9 +30924,13 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30043,8 +30938,8 @@
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30133,17 +31028,16 @@
 // method id "dfareporting.orders.list":
 
 type OrdersListCall struct {
-	s            *Service
-	profileId    int64
-	projectId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	projectId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of orders, possibly filtered.
 func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
-	c := &OrdersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OrdersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.projectId = projectId
 	return c
@@ -30151,26 +31045,22 @@
 
 // Ids sets the optional parameter "ids": Select only orders with these
 // IDs.
-func (c *OrdersListCall) Ids(ids []int64) *OrdersListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *OrdersListCall) Ids(ids int64) *OrdersListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -30182,18 +31072,14 @@
 // the search string. For example, a search string of "order" will match
 // orders with name "my order", "order 2015", or simply "order".
 func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteId sets the optional parameter "siteId": Select only orders that
 // are associated with these site IDs.
-func (c *OrdersListCall) SiteId(siteId []int64) *OrdersListCall {
-	var siteId_ []string
-	for _, v := range siteId {
-		siteId_ = append(siteId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteId", siteId_)
+func (c *OrdersListCall) SiteId(siteId int64) *OrdersListCall {
+	c.opt_["siteId"] = siteId
 	return c
 }
 
@@ -30204,7 +31090,7 @@
 //   "ID"
 //   "NAME"
 func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -30215,15 +31101,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30233,13 +31119,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 	c.ctx_ = ctx
 	return c
@@ -30247,17 +31133,42 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteId"]; ok {
+		params.Set("siteId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"projectId": strconv.FormatInt(c.projectId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30394,27 +31305,26 @@
 // method id "dfareporting.placementGroups.get":
 
 type PlacementGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement group by ID.
 func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
-	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30424,13 +31334,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -30438,17 +31348,21 @@
 
 func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -30532,29 +31446,29 @@
 	s              *Service
 	profileId      int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Inserts a new placement group.
 func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
-	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -30567,9 +31481,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -30650,28 +31568,23 @@
 // method id "dfareporting.placementGroups.list":
 
 type PlacementGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placement groups, possibly filtered.
 func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
-	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only placement groups that belong to these advertisers.
-func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds []int64) *PlacementGroupsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds int64) *PlacementGroupsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -30679,53 +31592,37 @@
 // placements. Don't set this field to select both archived and
 // non-archived placements.
 func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // placement groups that belong to these campaigns.
-func (c *PlacementGroupsListCall) CampaignIds(campaignIds []int64) *PlacementGroupsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *PlacementGroupsListCall) CampaignIds(campaignIds int64) *PlacementGroupsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
 // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 // Select only placement groups that are associated with these content
 // categories.
-func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds []int64) *PlacementGroupsListCall {
-	var contentCategoryIds_ []string
-	for _, v := range contentCategoryIds {
-		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
+func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds int64) *PlacementGroupsListCall {
+	c.opt_["contentCategoryIds"] = contentCategoryIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only placement groups that are associated with these directory
 // sites.
-func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds []int64) *PlacementGroupsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds int64) *PlacementGroupsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placement groups
 // with these IDs.
-func (c *PlacementGroupsListCall) Ids(ids []int64) *PlacementGroupsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementGroupsListCall) Ids(ids int64) *PlacementGroupsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -30733,14 +31630,14 @@
 // placements or placement groups whose end date is on or before the
 // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
-	c.urlParams_.Set("maxEndDate", maxEndDate)
+	c.opt_["maxEndDate"] = maxEndDate
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -30748,7 +31645,7 @@
 // placements or placement groups whose start date is on or before the
 // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
-	c.urlParams_.Set("maxStartDate", maxStartDate)
+	c.opt_["maxStartDate"] = maxStartDate
 	return c
 }
 
@@ -30756,7 +31653,7 @@
 // placements or placement groups whose end date is on or after the
 // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
-	c.urlParams_.Set("minEndDate", minEndDate)
+	c.opt_["minEndDate"] = minEndDate
 	return c
 }
 
@@ -30764,14 +31661,14 @@
 // placements or placement groups whose start date is on or after the
 // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
-	c.urlParams_.Set("minStartDate", minStartDate)
+	c.opt_["minStartDate"] = minStartDate
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -30787,19 +31684,15 @@
 //   "PLACEMENT_PACKAGE"
 //   "PLACEMENT_ROADBLOCK"
 func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
-	c.urlParams_.Set("placementGroupType", placementGroupType)
+	c.opt_["placementGroupType"] = placementGroupType
 	return c
 }
 
 // PlacementStrategyIds sets the optional parameter
 // "placementStrategyIds": Select only placement groups that are
 // associated with these placement strategies.
-func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds []int64) *PlacementGroupsListCall {
-	var placementStrategyIds_ []string
-	for _, v := range placementStrategyIds {
-		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
+func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds int64) *PlacementGroupsListCall {
+	c.opt_["placementStrategyIds"] = placementStrategyIds
 	return c
 }
 
@@ -30812,8 +31705,8 @@
 //   "PRICING_TYPE_CPM"
 //   "PRICING_TYPE_FLAT_RATE_CLICKS"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
-func (c *PlacementGroupsListCall) PricingTypes(pricingTypes []string) *PlacementGroupsListCall {
-	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
+func (c *PlacementGroupsListCall) PricingTypes(pricingTypes string) *PlacementGroupsListCall {
+	c.opt_["pricingTypes"] = pricingTypes
 	return c
 }
 
@@ -30827,18 +31720,14 @@
 // groups with name "my placementgroup", "placementgroup 2015", or
 // simply "placementgroup".
 func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteIds sets the optional parameter "siteIds": Select only placement
 // groups that are associated with these sites.
-func (c *PlacementGroupsListCall) SiteIds(siteIds []int64) *PlacementGroupsListCall {
-	var siteIds_ []string
-	for _, v := range siteIds {
-		siteIds_ = append(siteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteIds", siteIds_)
+func (c *PlacementGroupsListCall) SiteIds(siteIds int64) *PlacementGroupsListCall {
+	c.opt_["siteIds"] = siteIds
 	return c
 }
 
@@ -30849,7 +31738,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -30860,15 +31749,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -30878,13 +31767,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -30892,16 +31781,77 @@
 
 func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentCategoryIds"]; ok {
+		params.Set("contentCategoryIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxEndDate"]; ok {
+		params.Set("maxEndDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxStartDate"]; ok {
+		params.Set("maxStartDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minEndDate"]; ok {
+		params.Set("minEndDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minStartDate"]; ok {
+		params.Set("minStartDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementGroupType"]; ok {
+		params.Set("placementGroupType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementStrategyIds"]; ok {
+		params.Set("placementStrategyIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pricingTypes"]; ok {
+		params.Set("pricingTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteIds"]; ok {
+		params.Set("siteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31125,32 +32075,33 @@
 type PlacementGroupsPatchCall struct {
 	s              *Service
 	profileId      int64
+	id             int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates an existing placement group. This method supports
 // patch semantics.
 func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
-	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -31163,9 +32114,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31257,29 +32213,29 @@
 	s              *Service
 	profileId      int64
 	placementgroup *PlacementGroup
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates an existing placement group.
 func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
-	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementGroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementgroup = placementgroup
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -31292,9 +32248,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31375,32 +32335,32 @@
 // method id "dfareporting.placementStrategies.delete":
 
 type PlacementStrategiesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing placement strategy.
 func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
-	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -31408,9 +32368,13 @@
 
 func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31469,27 +32433,26 @@
 // method id "dfareporting.placementStrategies.get":
 
 type PlacementStrategiesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement strategy by ID.
 func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
-	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31499,13 +32462,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -31513,17 +32476,21 @@
 
 func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31607,29 +32574,29 @@
 	s                 *Service
 	profileId         int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Insert: Inserts a new placement strategy.
 func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
-	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -31642,9 +32609,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -31725,42 +32696,37 @@
 // method id "dfareporting.placementStrategies.list":
 
 type PlacementStrategiesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placement strategies, possibly filtered.
 func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
-	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placement
 // strategies with these IDs.
-func (c *PlacementStrategiesListCall) Ids(ids []int64) *PlacementStrategiesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementStrategiesListCall) Ids(ids int64) *PlacementStrategiesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -31774,7 +32740,7 @@
 // objects with name "my placementstrategy", "placementstrategy 2015",
 // or simply "placementstrategy".
 func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -31785,7 +32751,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -31796,15 +32762,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -31814,13 +32780,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -31828,16 +32794,38 @@
 
 func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -31961,32 +32949,33 @@
 type PlacementStrategiesPatchCall struct {
 	s                 *Service
 	profileId         int64
+	id                int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Updates an existing placement strategy. This method supports
 // patch semantics.
 func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
-	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -31999,9 +32988,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32093,29 +33087,29 @@
 	s                 *Service
 	profileId         int64
 	placementstrategy *PlacementStrategy
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Updates an existing placement strategy.
 func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
-	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementStrategiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placementstrategy = placementstrategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -32128,9 +33122,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32211,15 +33209,15 @@
 // method id "dfareporting.placements.generatetags":
 
 type PlacementsGeneratetagsCall struct {
-	s          *Service
-	profileId  int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Generatetags: Generates tags for a placement.
 func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
-	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsGeneratetagsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -32227,18 +33225,14 @@
 // CampaignId sets the optional parameter "campaignId": Generate
 // placements belonging to this campaign. This is a required field.
 func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // PlacementIds sets the optional parameter "placementIds": Generate
 // tags for these placements.
-func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds []int64) *PlacementsGeneratetagsCall {
-	var placementIds_ []string
-	for _, v := range placementIds {
-		placementIds_ = append(placementIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementIds", placementIds_)
+func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds int64) *PlacementsGeneratetagsCall {
+	c.opt_["placementIds"] = placementIds
 	return c
 }
 
@@ -32264,22 +33258,22 @@
 //   "PLACEMENT_TAG_TRACKING"
 //   "PLACEMENT_TAG_TRACKING_IFRAME"
 //   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
-func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats []string) *PlacementsGeneratetagsCall {
-	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
+func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats string) *PlacementsGeneratetagsCall {
+	c.opt_["tagFormats"] = tagFormats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 	c.ctx_ = ctx
 	return c
@@ -32287,9 +33281,22 @@
 
 func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementIds"]; ok {
+		params.Set("placementIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tagFormats"]; ok {
+		params.Set("tagFormats", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32425,27 +33432,26 @@
 // method id "dfareporting.placements.get":
 
 type PlacementsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one placement by ID.
 func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
-	c := &PlacementsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32455,13 +33461,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -32469,17 +33475,21 @@
 
 func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -32560,32 +33570,32 @@
 // method id "dfareporting.placements.insert":
 
 type PlacementsInsertCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new placement.
 func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
-	c := &PlacementsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -32598,9 +33608,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -32681,28 +33695,23 @@
 // method id "dfareporting.placements.list":
 
 type PlacementsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of placements, possibly filtered.
 func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
-	c := &PlacementsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only placements that belong to these advertisers.
-func (c *PlacementsListCall) AdvertiserIds(advertiserIds []int64) *PlacementsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *PlacementsListCall) AdvertiserIds(advertiserIds int64) *PlacementsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
@@ -32710,18 +33719,14 @@
 // placements. Don't set this field to select both archived and
 // non-archived placements.
 func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
-	c.urlParams_.Set("archived", fmt.Sprintf("%v", archived))
+	c.opt_["archived"] = archived
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // placements that belong to these campaigns.
-func (c *PlacementsListCall) CampaignIds(campaignIds []int64) *PlacementsListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *PlacementsListCall) CampaignIds(campaignIds int64) *PlacementsListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
@@ -32739,54 +33744,38 @@
 //   "IN_STREAM_VIDEO"
 //   "WEB"
 //   "WEB_INTERSTITIAL"
-func (c *PlacementsListCall) Compatibilities(compatibilities []string) *PlacementsListCall {
-	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
+func (c *PlacementsListCall) Compatibilities(compatibilities string) *PlacementsListCall {
+	c.opt_["compatibilities"] = compatibilities
 	return c
 }
 
 // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 // Select only placements that are associated with these content
 // categories.
-func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds []int64) *PlacementsListCall {
-	var contentCategoryIds_ []string
-	for _, v := range contentCategoryIds {
-		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
+func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds int64) *PlacementsListCall {
+	c.opt_["contentCategoryIds"] = contentCategoryIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only placements that are associated with these directory
 // sites.
-func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds []int64) *PlacementsListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds int64) *PlacementsListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // GroupIds sets the optional parameter "groupIds": Select only
 // placements that belong to these placement groups.
-func (c *PlacementsListCall) GroupIds(groupIds []int64) *PlacementsListCall {
-	var groupIds_ []string
-	for _, v := range groupIds {
-		groupIds_ = append(groupIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("groupIds", groupIds_)
+func (c *PlacementsListCall) GroupIds(groupIds int64) *PlacementsListCall {
+	c.opt_["groupIds"] = groupIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only placements with
 // these IDs.
-func (c *PlacementsListCall) Ids(ids []int64) *PlacementsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *PlacementsListCall) Ids(ids int64) *PlacementsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
@@ -32794,14 +33783,14 @@
 // placements or placement groups whose end date is on or before the
 // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
-	c.urlParams_.Set("maxEndDate", maxEndDate)
+	c.opt_["maxEndDate"] = maxEndDate
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -32809,7 +33798,7 @@
 // placements or placement groups whose start date is on or before the
 // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
-	c.urlParams_.Set("maxStartDate", maxStartDate)
+	c.opt_["maxStartDate"] = maxStartDate
 	return c
 }
 
@@ -32817,7 +33806,7 @@
 // placements or placement groups whose end date is on or after the
 // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
-	c.urlParams_.Set("minEndDate", minEndDate)
+	c.opt_["minEndDate"] = minEndDate
 	return c
 }
 
@@ -32825,14 +33814,14 @@
 // placements or placement groups whose start date is on or after the
 // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
-	c.urlParams_.Set("minStartDate", minStartDate)
+	c.opt_["minStartDate"] = minStartDate
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -32843,19 +33832,15 @@
 //   "PLACEMENT_AGENCY_PAID"
 //   "PLACEMENT_PUBLISHER_PAID"
 func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
-	c.urlParams_.Set("paymentSource", paymentSource)
+	c.opt_["paymentSource"] = paymentSource
 	return c
 }
 
 // PlacementStrategyIds sets the optional parameter
 // "placementStrategyIds": Select only placements that are associated
 // with these placement strategies.
-func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds []int64) *PlacementsListCall {
-	var placementStrategyIds_ []string
-	for _, v := range placementStrategyIds {
-		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
+func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds int64) *PlacementsListCall {
+	c.opt_["placementStrategyIds"] = placementStrategyIds
 	return c
 }
 
@@ -32868,8 +33853,8 @@
 //   "PRICING_TYPE_CPM"
 //   "PRICING_TYPE_FLAT_RATE_CLICKS"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
-func (c *PlacementsListCall) PricingTypes(pricingTypes []string) *PlacementsListCall {
-	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
+func (c *PlacementsListCall) PricingTypes(pricingTypes string) *PlacementsListCall {
+	c.opt_["pricingTypes"] = pricingTypes
 	return c
 }
 
@@ -32882,29 +33867,21 @@
 // of "placement" will match placements with name "my placement",
 // "placement 2015", or simply "placement".
 func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
 // SiteIds sets the optional parameter "siteIds": Select only placements
 // that are associated with these sites.
-func (c *PlacementsListCall) SiteIds(siteIds []int64) *PlacementsListCall {
-	var siteIds_ []string
-	for _, v := range siteIds {
-		siteIds_ = append(siteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("siteIds", siteIds_)
+func (c *PlacementsListCall) SiteIds(siteIds int64) *PlacementsListCall {
+	c.opt_["siteIds"] = siteIds
 	return c
 }
 
 // SizeIds sets the optional parameter "sizeIds": Select only placements
 // that are associated with these sizes.
-func (c *PlacementsListCall) SizeIds(sizeIds []int64) *PlacementsListCall {
-	var sizeIds_ []string
-	for _, v := range sizeIds {
-		sizeIds_ = append(sizeIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("sizeIds", sizeIds_)
+func (c *PlacementsListCall) SizeIds(sizeIds int64) *PlacementsListCall {
+	c.opt_["sizeIds"] = sizeIds
 	return c
 }
 
@@ -32915,7 +33892,7 @@
 //   "ID"
 //   "NAME"
 func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -32926,15 +33903,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -32944,13 +33921,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 	c.ctx_ = ctx
 	return c
@@ -32958,16 +33935,86 @@
 
 func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["archived"]; ok {
+		params.Set("archived", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["compatibilities"]; ok {
+		params.Set("compatibilities", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["contentCategoryIds"]; ok {
+		params.Set("contentCategoryIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["groupIds"]; ok {
+		params.Set("groupIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxEndDate"]; ok {
+		params.Set("maxEndDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxStartDate"]; ok {
+		params.Set("maxStartDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minEndDate"]; ok {
+		params.Set("minEndDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minStartDate"]; ok {
+		params.Set("minStartDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["paymentSource"]; ok {
+		params.Set("paymentSource", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["placementStrategyIds"]; ok {
+		params.Set("placementStrategyIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pricingTypes"]; ok {
+		params.Set("pricingTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["siteIds"]; ok {
+		params.Set("siteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sizeIds"]; ok {
+		params.Set("sizeIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33223,34 +34270,35 @@
 // method id "dfareporting.placements.patch":
 
 type PlacementsPatchCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing placement. This method supports patch
 // semantics.
 func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
-	c := &PlacementsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -33263,9 +34311,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33354,32 +34407,32 @@
 // method id "dfareporting.placements.update":
 
 type PlacementsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	placement  *Placement
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	placement *Placement
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing placement.
 func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
-	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlacementsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.placement = placement
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -33392,9 +34445,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -33475,27 +34532,26 @@
 // method id "dfareporting.platformTypes.get":
 
 type PlatformTypesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one platform type by ID.
 func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
-	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlatformTypesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33505,13 +34561,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33519,17 +34575,21 @@
 
 func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33610,25 +34670,24 @@
 // method id "dfareporting.platformTypes.list":
 
 type PlatformTypesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of platform types.
 func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
-	c := &PlatformTypesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlatformTypesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33638,13 +34697,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 	c.ctx_ = ctx
 	return c
@@ -33652,16 +34711,20 @@
 
 func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33734,27 +34797,26 @@
 // method id "dfareporting.postalCodes.get":
 
 type PostalCodesGetCall struct {
-	s            *Service
-	profileId    int64
-	code         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	code      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one postal code by ID.
 func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
-	c := &PostalCodesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostalCodesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.code = code
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33764,13 +34826,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -33778,17 +34840,21 @@
 
 func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"code":      c.code,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33868,25 +34934,24 @@
 // method id "dfareporting.postalCodes.list":
 
 type PostalCodesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of postal codes.
 func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
-	c := &PostalCodesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostalCodesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -33896,13 +34961,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 	c.ctx_ = ctx
 	return c
@@ -33910,16 +34975,20 @@
 
 func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -33992,27 +35061,26 @@
 // method id "dfareporting.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one project by ID.
 func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34022,13 +35090,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34036,17 +35104,21 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34127,53 +35199,44 @@
 // method id "dfareporting.projects.list":
 
 type ProjectsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of projects, possibly filtered.
 func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
-	c := &ProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // AdvertiserIds sets the optional parameter "advertiserIds": Select
 // only projects with these advertiser IDs.
-func (c *ProjectsListCall) AdvertiserIds(advertiserIds []int64) *ProjectsListCall {
-	var advertiserIds_ []string
-	for _, v := range advertiserIds {
-		advertiserIds_ = append(advertiserIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
+func (c *ProjectsListCall) AdvertiserIds(advertiserIds int64) *ProjectsListCall {
+	c.opt_["advertiserIds"] = advertiserIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only projects with
 // these IDs.
-func (c *ProjectsListCall) Ids(ids []int64) *ProjectsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *ProjectsListCall) Ids(ids int64) *ProjectsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -34186,7 +35249,7 @@
 // match projects with name "my project", "project 2015", or simply
 // "project".
 func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -34197,7 +35260,7 @@
 //   "ID"
 //   "NAME"
 func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -34208,15 +35271,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34226,13 +35289,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -34240,16 +35303,41 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserIds"]; ok {
+		params.Set("advertiserIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34378,25 +35466,24 @@
 // method id "dfareporting.regions.list":
 
 type RegionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of regions.
 func (r *RegionsService) List(profileId int64) *RegionsListCall {
-	c := &RegionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34406,13 +35493,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -34420,16 +35507,20 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34505,24 +35596,23 @@
 	s                 *Service
 	profileId         int64
 	remarketingListId int64
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Get: Gets one remarketing list share by remarketing list ID.
 func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
-	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListSharesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketingListId = remarketingListId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34532,13 +35622,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34546,17 +35636,21 @@
 
 func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId":         strconv.FormatInt(c.profileId, 10),
 		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -34639,32 +35733,33 @@
 type RemarketingListSharesPatchCall struct {
 	s                    *Service
 	profileId            int64
+	remarketingListId    int64
 	remarketinglistshare *RemarketingListShare
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Patch: Updates an existing remarketing list share. This method
 // supports patch semantics.
 func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
-	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListSharesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("remarketingListId", fmt.Sprintf("%v", remarketingListId))
+	c.remarketingListId = remarketingListId
 	c.remarketinglistshare = remarketinglistshare
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -34677,9 +35772,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("remarketingListId", fmt.Sprintf("%v", c.remarketingListId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -34771,29 +35871,29 @@
 	s                    *Service
 	profileId            int64
 	remarketinglistshare *RemarketingListShare
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Update: Updates an existing remarketing list share.
 func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
-	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListSharesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketinglistshare = remarketinglistshare
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -34806,9 +35906,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -34889,27 +35993,26 @@
 // method id "dfareporting.remarketingLists.get":
 
 type RemarketingListsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one remarketing list by ID.
 func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
-	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -34919,13 +36022,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -34933,17 +36036,21 @@
 
 func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35027,29 +36134,29 @@
 	s               *Service
 	profileId       int64
 	remarketinglist *RemarketingList
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Inserts a new remarketing list.
 func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
-	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketinglist = remarketinglist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -35062,9 +36169,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35147,23 +36258,23 @@
 type RemarketingListsListCall struct {
 	s            *Service
 	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	advertiserId int64
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves a list of remarketing lists, possibly filtered.
 func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
-	c := &RemarketingListsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.advertiserId = advertiserId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active or
 // only inactive remarketing lists.
 func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
@@ -35171,14 +36282,14 @@
 // "floodlightActivityId": Select only remarketing lists that have this
 // floodlight activity ID.
 func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
-	c.urlParams_.Set("floodlightActivityId", fmt.Sprintf("%v", floodlightActivityId))
+	c.opt_["floodlightActivityId"] = floodlightActivityId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -35191,14 +36302,14 @@
 // of "remarketing list" will match objects with name "my remarketing
 // list", "remarketing list 2015", or simply "remarketing list".
 func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -35209,7 +36320,7 @@
 //   "ID"
 //   "NAME"
 func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -35220,15 +36331,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35238,13 +36349,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 	c.ctx_ = ctx
 	return c
@@ -35252,16 +36363,42 @@
 
 func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("advertiserId", fmt.Sprintf("%v", c.advertiserId))
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["floodlightActivityId"]; ok {
+		params.Set("floodlightActivityId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35397,32 +36534,33 @@
 type RemarketingListsPatchCall struct {
 	s               *Service
 	profileId       int64
+	id              int64
 	remarketinglist *RemarketingList
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Patch: Updates an existing remarketing list. This method supports
 // patch semantics.
 func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
-	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.remarketinglist = remarketinglist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -35435,9 +36573,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35529,29 +36672,29 @@
 	s               *Service
 	profileId       int64
 	remarketinglist *RemarketingList
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Update: Updates an existing remarketing list.
 func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
-	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RemarketingListsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.remarketinglist = remarketinglist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -35564,9 +36707,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35647,32 +36794,32 @@
 // method id "dfareporting.reports.delete":
 
 type ReportsDeleteCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a report by its ID.
 func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
-	c := &ReportsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -35680,9 +36827,13 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35741,27 +36892,26 @@
 // method id "dfareporting.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report by its ID.
 func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -35771,13 +36921,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -35785,17 +36935,21 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -35876,32 +37030,32 @@
 // method id "dfareporting.reports.insert":
 
 type ReportsInsertCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a report.
 func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
-	c := &ReportsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -35914,9 +37068,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -35997,16 +37155,15 @@
 // method id "dfareporting.reports.list":
 
 type ReportsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves list of reports.
 func (r *ReportsService) List(profileId int64) *ReportsListCall {
-	c := &ReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -36014,14 +37171,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -36032,7 +37189,7 @@
 //   "ALL" - All reports in account.
 //   "MINE" (default) - My reports.
 func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
-	c.urlParams_.Set("scope", scope)
+	c.opt_["scope"] = scope
 	return c
 }
 
@@ -36044,7 +37201,7 @@
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 //   "NAME" - Sort by name of reports.
 func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -36055,15 +37212,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36073,13 +37230,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -36087,16 +37244,35 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scope"]; ok {
+		params.Set("scope", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36226,34 +37402,34 @@
 // method id "dfareporting.reports.patch":
 
 type ReportsPatchCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a report. This method supports patch semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
-	c := &ReportsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -36266,9 +37442,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36358,16 +37538,16 @@
 // method id "dfareporting.reports.run":
 
 type ReportsRunCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Run: Runs a report.
 func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
-	c := &ReportsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -36376,21 +37556,21 @@
 // Synchronous sets the optional parameter "synchronous": If set and
 // true, tries to run the report synchronously.
 func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
-	c.urlParams_.Set("synchronous", fmt.Sprintf("%v", synchronous))
+	c.opt_["synchronous"] = synchronous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -36398,9 +37578,16 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["synchronous"]; ok {
+		params.Set("synchronous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36491,34 +37678,34 @@
 // method id "dfareporting.reports.update":
 
 type ReportsUpdateCall struct {
-	s          *Service
-	profileId  int64
-	reportId   int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a report.
 func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
-	c := &ReportsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -36531,9 +37718,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36623,34 +37814,34 @@
 // method id "dfareporting.reports.compatibleFields.query":
 
 type ReportsCompatibleFieldsQueryCall struct {
-	s          *Service
-	profileId  int64
-	report     *Report
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	report    *Report
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Query: Returns the fields that are compatible to be selected in the
 // respective sections of a report criteria, given the fields already
 // selected in the input report and user permissions.
 func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
-	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsCompatibleFieldsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.report = report
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -36663,9 +37854,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36746,29 +37941,28 @@
 // method id "dfareporting.reports.files.get":
 
 type ReportsFilesGetCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	fileId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	fileId    int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves a report file.
 func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
-	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36778,13 +37972,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -36792,9 +37986,13 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -36802,8 +38000,8 @@
 		"fileId":    strconv.FormatInt(c.fileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -36908,17 +38106,16 @@
 // method id "dfareporting.reports.files.list":
 
 type ReportsFilesListCall struct {
-	s            *Service
-	profileId    int64
-	reportId     int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	reportId  int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists files for a report.
 func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
-	c := &ReportsFilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsFilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.reportId = reportId
 	return c
@@ -36927,14 +38124,14 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of the
 // nextToken from the previous result page.
 func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -36945,7 +38142,7 @@
 //   "ID" - Sort by file ID.
 //   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -36956,15 +38153,15 @@
 //   "ASCENDING" - Ascending order.
 //   "DESCENDING" (default) - Descending order.
 func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -36974,13 +38171,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -36988,17 +38185,33 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"reportId":  strconv.FormatInt(c.reportId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37120,27 +38333,26 @@
 // method id "dfareporting.sites.get":
 
 type SitesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one site by ID.
 func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
-	c := &SitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37150,13 +38362,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -37164,17 +38376,21 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37255,32 +38471,32 @@
 // method id "dfareporting.sites.insert":
 
 type SitesInsertCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new site.
 func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
-	c := &SitesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -37293,9 +38509,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -37376,16 +38596,15 @@
 // method id "dfareporting.sites.list":
 
 type SitesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of sites, possibly filtered.
 func (r *SitesService) List(profileId int64) *SitesListCall {
-	c := &SitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -37394,7 +38613,7 @@
 // "acceptsInStreamVideoPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", acceptsInStreamVideoPlacements))
+	c.opt_["acceptsInStreamVideoPlacements"] = acceptsInStreamVideoPlacements
 	return c
 }
 
@@ -37402,7 +38621,7 @@
 // "acceptsInterstitialPlacements": This search filter is no longer
 // supported and will have no effect on the results returned.
 func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", acceptsInterstitialPlacements))
+	c.opt_["acceptsInterstitialPlacements"] = acceptsInterstitialPlacements
 	return c
 }
 
@@ -37410,68 +38629,56 @@
 // "acceptsPublisherPaidPlacements": Select only sites that accept
 // publisher paid placements.
 func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
-	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", acceptsPublisherPaidPlacements))
+	c.opt_["acceptsPublisherPaidPlacements"] = acceptsPublisherPaidPlacements
 	return c
 }
 
 // AdWordsSite sets the optional parameter "adWordsSite": Select only
 // AdWords sites.
 func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
-	c.urlParams_.Set("adWordsSite", fmt.Sprintf("%v", adWordsSite))
+	c.opt_["adWordsSite"] = adWordsSite
 	return c
 }
 
 // Approved sets the optional parameter "approved": Select only approved
 // sites.
 func (c *SitesListCall) Approved(approved bool) *SitesListCall {
-	c.urlParams_.Set("approved", fmt.Sprintf("%v", approved))
+	c.opt_["approved"] = approved
 	return c
 }
 
 // CampaignIds sets the optional parameter "campaignIds": Select only
 // sites with these campaign IDs.
-func (c *SitesListCall) CampaignIds(campaignIds []int64) *SitesListCall {
-	var campaignIds_ []string
-	for _, v := range campaignIds {
-		campaignIds_ = append(campaignIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("campaignIds", campaignIds_)
+func (c *SitesListCall) CampaignIds(campaignIds int64) *SitesListCall {
+	c.opt_["campaignIds"] = campaignIds
 	return c
 }
 
 // DirectorySiteIds sets the optional parameter "directorySiteIds":
 // Select only sites with these directory site IDs.
-func (c *SitesListCall) DirectorySiteIds(directorySiteIds []int64) *SitesListCall {
-	var directorySiteIds_ []string
-	for _, v := range directorySiteIds {
-		directorySiteIds_ = append(directorySiteIds_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
+func (c *SitesListCall) DirectorySiteIds(directorySiteIds int64) *SitesListCall {
+	c.opt_["directorySiteIds"] = directorySiteIds
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only sites with these
 // IDs.
-func (c *SitesListCall) Ids(ids []int64) *SitesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SitesListCall) Ids(ids int64) *SitesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -37483,7 +38690,7 @@
 // of the search string. For example, a search string of "site" will
 // match objects with name "my site", "site 2015", or simply "site".
 func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -37494,7 +38701,7 @@
 //   "ID"
 //   "NAME"
 func (c *SitesListCall) SortField(sortField string) *SitesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -37505,29 +38712,29 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // sites with this subaccount ID.
 func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
 // UnmappedSite sets the optional parameter "unmappedSite": Select only
 // sites that have not been mapped to a directory site.
 func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
-	c.urlParams_.Set("unmappedSite", fmt.Sprintf("%v", unmappedSite))
+	c.opt_["unmappedSite"] = unmappedSite
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -37537,13 +38744,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -37551,16 +38758,65 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acceptsInStreamVideoPlacements"]; ok {
+		params.Set("acceptsInStreamVideoPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsInterstitialPlacements"]; ok {
+		params.Set("acceptsInterstitialPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["acceptsPublisherPaidPlacements"]; ok {
+		params.Set("acceptsPublisherPaidPlacements", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["adWordsSite"]; ok {
+		params.Set("adWordsSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["approved"]; ok {
+		params.Set("approved", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignIds"]; ok {
+		params.Set("campaignIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["directorySiteIds"]; ok {
+		params.Set("directorySiteIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["unmappedSite"]; ok {
+		params.Set("unmappedSite", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -37732,34 +38988,35 @@
 // method id "dfareporting.sites.patch":
 
 type SitesPatchCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing site. This method supports patch
 // semantics.
 func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
-	c := &SitesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -37772,9 +39029,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -37863,32 +39125,32 @@
 // method id "dfareporting.sites.update":
 
 type SitesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	site       *Site
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	site      *Site
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing site.
 func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
-	c := &SitesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.site = site
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -37901,9 +39163,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -37984,27 +39250,26 @@
 // method id "dfareporting.sizes.get":
 
 type SizesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one size by ID.
 func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
-	c := &SizesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38014,13 +39279,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -38028,17 +39293,21 @@
 
 func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38119,32 +39388,32 @@
 // method id "dfareporting.sizes.insert":
 
 type SizesInsertCall struct {
-	s          *Service
-	profileId  int64
-	size       *Size
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	size      *Size
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new size.
 func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
-	c := &SizesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.size = size
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -38157,9 +39426,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -38240,16 +39513,15 @@
 // method id "dfareporting.sizes.list":
 
 type SizesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of sizes, possibly filtered.
 func (r *SizesService) List(profileId int64) *SizesListCall {
-	c := &SizesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SizesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -38257,40 +39529,36 @@
 // Height sets the optional parameter "height": Select only sizes with
 // this height.
 func (c *SizesListCall) Height(height int64) *SizesListCall {
-	c.urlParams_.Set("height", fmt.Sprintf("%v", height))
+	c.opt_["height"] = height
 	return c
 }
 
 // IabStandard sets the optional parameter "iabStandard": Select only
 // IAB standard sizes.
 func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
-	c.urlParams_.Set("iabStandard", fmt.Sprintf("%v", iabStandard))
+	c.opt_["iabStandard"] = iabStandard
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only sizes with these
 // IDs.
-func (c *SizesListCall) Ids(ids []int64) *SizesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SizesListCall) Ids(ids int64) *SizesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // Width sets the optional parameter "width": Select only sizes with
 // this width.
 func (c *SizesListCall) Width(width int64) *SizesListCall {
-	c.urlParams_.Set("width", fmt.Sprintf("%v", width))
+	c.opt_["width"] = width
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38300,13 +39568,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 	c.ctx_ = ctx
 	return c
@@ -38314,16 +39582,32 @@
 
 func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["height"]; ok {
+		params.Set("height", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["iabStandard"]; ok {
+		params.Set("iabStandard", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["width"]; ok {
+		params.Set("width", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38420,27 +39704,26 @@
 // method id "dfareporting.subaccounts.get":
 
 type SubaccountsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one subaccount by ID.
 func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
-	c := &SubaccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38450,13 +39733,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -38464,17 +39747,21 @@
 
 func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38558,29 +39845,29 @@
 	s          *Service
 	profileId  int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a new subaccount.
 func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
-	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -38593,9 +39880,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -38676,42 +39967,37 @@
 // method id "dfareporting.subaccounts.list":
 
 type SubaccountsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of subaccounts, possibly filtered.
 func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
-	c := &SubaccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only subaccounts with
 // these IDs.
-func (c *SubaccountsListCall) Ids(ids []int64) *SubaccountsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *SubaccountsListCall) Ids(ids int64) *SubaccountsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -38724,7 +40010,7 @@
 // string of "subaccount" will match objects with name "my subaccount",
 // "subaccount 2015", or simply "subaccount".
 func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -38735,7 +40021,7 @@
 //   "ID"
 //   "NAME"
 func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -38746,15 +40032,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -38764,13 +40050,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -38778,16 +40064,38 @@
 
 func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -38911,32 +40219,33 @@
 type SubaccountsPatchCall struct {
 	s          *Service
 	profileId  int64
+	id         int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing subaccount. This method supports patch
 // semantics.
 func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
-	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -38949,9 +40258,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -39043,29 +40357,29 @@
 	s          *Service
 	profileId  int64
 	subaccount *Subaccount
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing subaccount.
 func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
-	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubaccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.subaccount = subaccount
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -39078,9 +40392,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -39161,27 +40479,26 @@
 // method id "dfareporting.targetableRemarketingLists.get":
 
 type TargetableRemarketingListsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one remarketing list by ID.
 func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
-	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetableRemarketingListsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39191,13 +40508,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39205,17 +40522,21 @@
 
 func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39298,31 +40619,31 @@
 type TargetableRemarketingListsListCall struct {
 	s            *Service
 	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	advertiserId int64
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieves a list of targetable remarketing lists, possibly
 // filtered.
 func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
-	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TargetableRemarketingListsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
+	c.advertiserId = advertiserId
 	return c
 }
 
 // Active sets the optional parameter "active": Select only active or
 // only inactive targetable remarketing lists.
 func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("active", fmt.Sprintf("%v", active))
+	c.opt_["active"] = active
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -39335,14 +40656,14 @@
 // of "remarketing list" will match objects with name "my remarketing
 // list", "remarketing list 2015", or simply "remarketing list".
 func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -39353,7 +40674,7 @@
 //   "ID"
 //   "NAME"
 func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -39364,15 +40685,15 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39382,13 +40703,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 	c.ctx_ = ctx
 	return c
@@ -39396,16 +40717,39 @@
 
 func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("advertiserId", fmt.Sprintf("%v", c.advertiserId))
+	if v, ok := c.opt_["active"]; ok {
+		params.Set("active", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39534,25 +40878,24 @@
 // method id "dfareporting.userProfiles.get":
 
 type UserProfilesGetCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user profile by ID.
 func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
-	c := &UserProfilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39562,13 +40905,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39576,16 +40919,20 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39659,23 +41006,22 @@
 // method id "dfareporting.userProfiles.list":
 
 type UserProfilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves list of user profiles for a user.
 func (r *UserProfilesService) List() *UserProfilesListCall {
-	c := &UserProfilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39685,13 +41031,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -39699,14 +41045,18 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39768,27 +41118,26 @@
 // method id "dfareporting.userRolePermissionGroups.get":
 
 type UserRolePermissionGroupsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role permission group by ID.
 func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
-	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionGroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39798,13 +41147,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -39812,17 +41161,21 @@
 
 func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -39903,25 +41256,24 @@
 // method id "dfareporting.userRolePermissionGroups.list":
 
 type UserRolePermissionGroupsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of all supported user role permission groups.
 func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
-	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionGroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -39931,13 +41283,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -39945,16 +41297,20 @@
 
 func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40028,27 +41384,26 @@
 // method id "dfareporting.userRolePermissions.get":
 
 type UserRolePermissionsGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role permission by ID.
 func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
-	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40058,13 +41413,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -40072,17 +41427,21 @@
 
 func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40163,36 +41522,31 @@
 // method id "dfareporting.userRolePermissions.list":
 
 type UserRolePermissionsListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Gets a list of user role permissions, possibly filtered.
 func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
-	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolePermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user role
 // permissions with these IDs.
-func (c *UserRolePermissionsListCall) Ids(ids []int64) *UserRolePermissionsListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *UserRolePermissionsListCall) Ids(ids int64) *UserRolePermissionsListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40202,13 +41556,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -40216,16 +41570,23 @@
 
 func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40305,32 +41666,32 @@
 // method id "dfareporting.userRoles.delete":
 
 type UserRolesDeleteCall struct {
-	s          *Service
-	profileId  int64
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes an existing user role.
 func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
-	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -40338,9 +41699,13 @@
 
 func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -40399,27 +41764,26 @@
 // method id "dfareporting.userRoles.get":
 
 type UserRolesGetCall struct {
-	s            *Service
-	profileId    int64
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one user role by ID.
 func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
-	c := &UserRolesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40429,13 +41793,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -40443,17 +41807,21 @@
 
 func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 		"id":        strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40534,32 +41902,32 @@
 // method id "dfareporting.userRoles.insert":
 
 type UserRolesInsertCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Inserts a new user role.
 func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
-	c := &UserRolesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -40572,9 +41940,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -40655,16 +42027,15 @@
 // method id "dfareporting.userRoles.list":
 
 type UserRolesListCall struct {
-	s            *Service
-	profileId    int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	profileId int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of user roles, possibly filtered.
 func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
-	c := &UserRolesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	return c
 }
@@ -40673,32 +42044,28 @@
 // "accountUserRoleOnly": Select only account level user roles not
 // associated with any specific subaccount.
 func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
-	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprintf("%v", accountUserRoleOnly))
+	c.opt_["accountUserRoleOnly"] = accountUserRoleOnly
 	return c
 }
 
 // Ids sets the optional parameter "ids": Select only user roles with
 // the specified IDs.
-func (c *UserRolesListCall) Ids(ids []int64) *UserRolesListCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
+func (c *UserRolesListCall) Ids(ids int64) *UserRolesListCall {
+	c.opt_["ids"] = ids
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Value of the
 // nextPageToken from the previous result page.
 func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -40711,7 +42078,7 @@
 // of "userrole" will match objects with name "my userrole", "userrole
 // 2015", or simply "userrole".
 func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
-	c.urlParams_.Set("searchString", searchString)
+	c.opt_["searchString"] = searchString
 	return c
 }
 
@@ -40722,7 +42089,7 @@
 //   "ID"
 //   "NAME"
 func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
-	c.urlParams_.Set("sortField", sortField)
+	c.opt_["sortField"] = sortField
 	return c
 }
 
@@ -40733,22 +42100,22 @@
 //   "ASCENDING"
 //   "DESCENDING"
 func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
 // SubaccountId sets the optional parameter "subaccountId": Select only
 // user roles that belong to this subaccount.
 func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
-	c.urlParams_.Set("subaccountId", fmt.Sprintf("%v", subaccountId))
+	c.opt_["subaccountId"] = subaccountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -40758,13 +42125,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 	c.ctx_ = ctx
 	return c
@@ -40772,16 +42139,44 @@
 
 func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["accountUserRoleOnly"]; ok {
+		params.Set("accountUserRoleOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ids"]; ok {
+		params.Set("ids", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchString"]; ok {
+		params.Set("searchString", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortField"]; ok {
+		params.Set("sortField", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["subaccountId"]; ok {
+		params.Set("subaccountId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -40914,34 +42309,35 @@
 // method id "dfareporting.userRoles.patch":
 
 type UserRolesPatchCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	id        int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing user role. This method supports patch
 // semantics.
 func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
-	c := &UserRolesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprintf("%v", id))
+	c.id = id
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -40954,9 +42350,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
@@ -41045,32 +42446,32 @@
 // method id "dfareporting.userRoles.update":
 
 type UserRolesUpdateCall struct {
-	s          *Service
-	profileId  int64
-	userrole   *UserRole
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	profileId int64
+	userrole  *UserRole
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing user role.
 func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
-	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserRolesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.profileId = profileId
 	c.userrole = userrole
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -41083,9 +42484,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"profileId": strconv.FormatInt(c.profileId, 10),
diff --git a/discovery/v1/discovery-gen.go b/discovery/v1/discovery-gen.go
index f8df944..21f153a 100644
--- a/discovery/v1/discovery-gen.go
+++ b/discovery/v1/discovery-gen.go
@@ -766,27 +766,26 @@
 // method id "discovery.apis.getRest":
 
 type ApisGetRestCall struct {
-	s            *Service
-	api          string
-	version      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	api     string
+	version string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // GetRest: Retrieve the description of a particular version of an api.
 func (r *ApisService) GetRest(api string, version string) *ApisGetRestCall {
-	c := &ApisGetRestCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApisGetRestCall{s: r.s, opt_: make(map[string]interface{})}
 	c.api = api
 	c.version = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApisGetRestCall) Fields(s ...googleapi.Field) *ApisGetRestCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -796,13 +795,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ApisGetRestCall) IfNoneMatch(entityTag string) *ApisGetRestCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApisGetRestCall) Context(ctx context.Context) *ApisGetRestCall {
 	c.ctx_ = ctx
 	return c
@@ -810,17 +809,21 @@
 
 func (c *ApisGetRestCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "apis/{api}/{version}/rest")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"api":     c.api,
 		"version": c.version,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -896,37 +899,36 @@
 // method id "discovery.apis.list":
 
 type ApisListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieve the list of APIs supported at this endpoint.
 func (r *ApisService) List() *ApisListCall {
-	c := &ApisListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApisListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Name sets the optional parameter "name": Only include APIs with the
 // given name.
 func (c *ApisListCall) Name(name string) *ApisListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // Preferred sets the optional parameter "preferred": Return only the
 // preferred version of an API.
 func (c *ApisListCall) Preferred(preferred bool) *ApisListCall {
-	c.urlParams_.Set("preferred", fmt.Sprintf("%v", preferred))
+	c.opt_["preferred"] = preferred
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApisListCall) Fields(s ...googleapi.Field) *ApisListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -936,13 +938,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ApisListCall) IfNoneMatch(entityTag string) *ApisListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApisListCall) Context(ctx context.Context) *ApisListCall {
 	c.ctx_ = ctx
 	return c
@@ -950,14 +952,24 @@
 
 func (c *ApisListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["preferred"]; ok {
+		params.Set("preferred", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "apis")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dns/v1/dns-gen.go b/dns/v1/dns-gen.go
index 28e8e29..cbfc4e5 100644
--- a/dns/v1/dns-gen.go
+++ b/dns/v1/dns-gen.go
@@ -477,30 +477,30 @@
 	project     string
 	managedZone string
 	change      *Change
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Atomically update the ResourceRecordSet collection.
 func (r *ChangesService) Create(project string, managedZone string, change *Change) *ChangesCreateCall {
-	c := &ChangesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	c.change = change
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesCreateCall) Fields(s ...googleapi.Field) *ChangesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesCreateCall) Context(ctx context.Context) *ChangesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -513,9 +513,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/changes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -604,29 +608,28 @@
 // method id "dns.changes.get":
 
 type ChangesGetCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	changeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	changeId    string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Fetch the representation of an existing Change.
 func (r *ChangesService) Get(project string, managedZone string, changeId string) *ChangesGetCall {
-	c := &ChangesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	c.changeId = changeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesGetCall) Fields(s ...googleapi.Field) *ChangesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -636,13 +639,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangesGetCall) IfNoneMatch(entityTag string) *ChangesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesGetCall) Context(ctx context.Context) *ChangesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -650,9 +653,13 @@
 
 func (c *ChangesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/changes/{changeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -660,8 +667,8 @@
 		"changeId":    c.changeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -750,17 +757,16 @@
 // method id "dns.changes.list":
 
 type ChangesListCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Enumerate Changes to a ResourceRecordSet collection.
 func (r *ChangesService) List(project string, managedZone string) *ChangesListCall {
-	c := &ChangesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
@@ -770,7 +776,7 @@
 // of results to be returned. If unspecified, the server will decide how
 // many results to return.
 func (c *ChangesListCall) MaxResults(maxResults int64) *ChangesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -778,7 +784,7 @@
 // a previous list request that was truncated. Use this parameter to
 // continue a previous list request.
 func (c *ChangesListCall) PageToken(pageToken string) *ChangesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -788,22 +794,22 @@
 // Possible values:
 //   "changeSequence" (default)
 func (c *ChangesListCall) SortBy(sortBy string) *ChangesListCall {
-	c.urlParams_.Set("sortBy", sortBy)
+	c.opt_["sortBy"] = sortBy
 	return c
 }
 
 // SortOrder sets the optional parameter "sortOrder": Sorting order
 // direction: 'ascending' or 'descending'.
 func (c *ChangesListCall) SortOrder(sortOrder string) *ChangesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesListCall) Fields(s ...googleapi.Field) *ChangesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -813,13 +819,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangesListCall) IfNoneMatch(entityTag string) *ChangesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesListCall) Context(ctx context.Context) *ChangesListCall {
 	c.ctx_ = ctx
 	return c
@@ -827,17 +833,33 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortBy"]; ok {
+		params.Set("sortBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/changes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
 		"managedZone": c.managedZone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -950,29 +972,29 @@
 	s           *Service
 	project     string
 	managedzone *ManagedZone
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Create a new ManagedZone.
 func (r *ManagedZonesService) Create(project string, managedzone *ManagedZone) *ManagedZonesCreateCall {
-	c := &ManagedZonesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedzone = managedzone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesCreateCall) Fields(s ...googleapi.Field) *ManagedZonesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesCreateCall) Context(ctx context.Context) *ManagedZonesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -985,9 +1007,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1071,29 +1097,29 @@
 	s           *Service
 	project     string
 	managedZone string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Delete a previously created ManagedZone.
 func (r *ManagedZonesService) Delete(project string, managedZone string) *ManagedZonesDeleteCall {
-	c := &ManagedZonesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesDeleteCall) Fields(s ...googleapi.Field) *ManagedZonesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesDeleteCall) Context(ctx context.Context) *ManagedZonesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1101,9 +1127,13 @@
 
 func (c *ManagedZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -1161,27 +1191,26 @@
 // method id "dns.managedZones.get":
 
 type ManagedZonesGetCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Fetch the representation of an existing ManagedZone.
 func (r *ManagedZonesService) Get(project string, managedZone string) *ManagedZonesGetCall {
-	c := &ManagedZonesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesGetCall) Fields(s ...googleapi.Field) *ManagedZonesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1191,13 +1220,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagedZonesGetCall) IfNoneMatch(entityTag string) *ManagedZonesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesGetCall) Context(ctx context.Context) *ManagedZonesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1205,17 +1234,21 @@
 
 func (c *ManagedZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
 		"managedZone": c.managedZone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1297,17 +1330,16 @@
 // method id "dns.managedZones.list":
 
 type ManagedZonesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Enumerate ManagedZones that have been created but not yet
 // deleted.
 func (r *ManagedZonesService) List(project string) *ManagedZonesListCall {
-	c := &ManagedZonesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1315,7 +1347,7 @@
 // DnsName sets the optional parameter "dnsName": Restricts the list to
 // return only zones with this domain name.
 func (c *ManagedZonesListCall) DnsName(dnsName string) *ManagedZonesListCall {
-	c.urlParams_.Set("dnsName", dnsName)
+	c.opt_["dnsName"] = dnsName
 	return c
 }
 
@@ -1323,7 +1355,7 @@
 // of results to be returned. If unspecified, the server will decide how
 // many results to return.
 func (c *ManagedZonesListCall) MaxResults(maxResults int64) *ManagedZonesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1331,15 +1363,15 @@
 // a previous list request that was truncated. Use this parameter to
 // continue a previous list request.
 func (c *ManagedZonesListCall) PageToken(pageToken string) *ManagedZonesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesListCall) Fields(s ...googleapi.Field) *ManagedZonesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1349,13 +1381,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagedZonesListCall) IfNoneMatch(entityTag string) *ManagedZonesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesListCall) Context(ctx context.Context) *ManagedZonesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1363,16 +1395,29 @@
 
 func (c *ManagedZonesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dnsName"]; ok {
+		params.Set("dnsName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1463,25 +1508,24 @@
 // method id "dns.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Fetch the representation of an existing Project.
 func (r *ProjectsService) Get(project string) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1491,13 +1535,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1505,16 +1549,20 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1589,18 +1637,17 @@
 // method id "dns.resourceRecordSets.list":
 
 type ResourceRecordSetsListCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Enumerate ResourceRecordSets that have been created but not yet
 // deleted.
 func (r *ResourceRecordSetsService) List(project string, managedZone string) *ResourceRecordSetsListCall {
-	c := &ResourceRecordSetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourceRecordSetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
@@ -1610,14 +1657,14 @@
 // of results to be returned. If unspecified, the server will decide how
 // many results to return.
 func (c *ResourceRecordSetsListCall) MaxResults(maxResults int64) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Name sets the optional parameter "name": Restricts the list to return
 // only records with this fully qualified domain name.
 func (c *ResourceRecordSetsListCall) Name(name string) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
@@ -1625,7 +1672,7 @@
 // a previous list request that was truncated. Use this parameter to
 // continue a previous list request.
 func (c *ResourceRecordSetsListCall) PageToken(pageToken string) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1633,15 +1680,15 @@
 // only records of this type. If present, the "name" parameter must also
 // be present.
 func (c *ResourceRecordSetsListCall) Type(type_ string) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourceRecordSetsListCall) Fields(s ...googleapi.Field) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1651,13 +1698,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourceRecordSetsListCall) IfNoneMatch(entityTag string) *ResourceRecordSetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourceRecordSetsListCall) Context(ctx context.Context) *ResourceRecordSetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1665,17 +1712,33 @@
 
 func (c *ResourceRecordSetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/rrsets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
 		"managedZone": c.managedZone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/dns/v1beta1/dns-gen.go b/dns/v1beta1/dns-gen.go
index 8ee7cf8..ca41c03 100644
--- a/dns/v1beta1/dns-gen.go
+++ b/dns/v1beta1/dns-gen.go
@@ -473,30 +473,30 @@
 	project     string
 	managedZone string
 	change      *Change
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Atomically update the ResourceRecordSet collection.
 func (r *ChangesService) Create(project string, managedZone string, change *Change) *ChangesCreateCall {
-	c := &ChangesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	c.change = change
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesCreateCall) Fields(s ...googleapi.Field) *ChangesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesCreateCall) Context(ctx context.Context) *ChangesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -509,9 +509,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/changes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -600,29 +604,28 @@
 // method id "dns.changes.get":
 
 type ChangesGetCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	changeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	changeId    string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Fetch the representation of an existing Change.
 func (r *ChangesService) Get(project string, managedZone string, changeId string) *ChangesGetCall {
-	c := &ChangesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	c.changeId = changeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesGetCall) Fields(s ...googleapi.Field) *ChangesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -632,13 +635,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangesGetCall) IfNoneMatch(entityTag string) *ChangesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesGetCall) Context(ctx context.Context) *ChangesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -646,9 +649,13 @@
 
 func (c *ChangesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/changes/{changeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -656,8 +663,8 @@
 		"changeId":    c.changeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -746,17 +753,16 @@
 // method id "dns.changes.list":
 
 type ChangesListCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Enumerate Changes to a ResourceRecordSet collection.
 func (r *ChangesService) List(project string, managedZone string) *ChangesListCall {
-	c := &ChangesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
@@ -766,7 +772,7 @@
 // of results to be returned. If unspecified, the server will decide how
 // many results to return.
 func (c *ChangesListCall) MaxResults(maxResults int64) *ChangesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -774,7 +780,7 @@
 // a previous list request that was truncated. Use this parameter to
 // continue a previous list request.
 func (c *ChangesListCall) PageToken(pageToken string) *ChangesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -784,22 +790,22 @@
 // Possible values:
 //   "changeSequence" (default)
 func (c *ChangesListCall) SortBy(sortBy string) *ChangesListCall {
-	c.urlParams_.Set("sortBy", sortBy)
+	c.opt_["sortBy"] = sortBy
 	return c
 }
 
 // SortOrder sets the optional parameter "sortOrder": Sorting order
 // direction: 'ascending' or 'descending'.
 func (c *ChangesListCall) SortOrder(sortOrder string) *ChangesListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesListCall) Fields(s ...googleapi.Field) *ChangesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -809,13 +815,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangesListCall) IfNoneMatch(entityTag string) *ChangesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesListCall) Context(ctx context.Context) *ChangesListCall {
 	c.ctx_ = ctx
 	return c
@@ -823,17 +829,33 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortBy"]; ok {
+		params.Set("sortBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/changes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
 		"managedZone": c.managedZone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -946,29 +968,29 @@
 	s           *Service
 	project     string
 	managedzone *ManagedZone
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Create a new ManagedZone.
 func (r *ManagedZonesService) Create(project string, managedzone *ManagedZone) *ManagedZonesCreateCall {
-	c := &ManagedZonesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedzone = managedzone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesCreateCall) Fields(s ...googleapi.Field) *ManagedZonesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesCreateCall) Context(ctx context.Context) *ManagedZonesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -981,9 +1003,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1067,29 +1093,29 @@
 	s           *Service
 	project     string
 	managedZone string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Delete a previously created ManagedZone.
 func (r *ManagedZonesService) Delete(project string, managedZone string) *ManagedZonesDeleteCall {
-	c := &ManagedZonesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesDeleteCall) Fields(s ...googleapi.Field) *ManagedZonesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesDeleteCall) Context(ctx context.Context) *ManagedZonesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1097,9 +1123,13 @@
 
 func (c *ManagedZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
@@ -1157,27 +1187,26 @@
 // method id "dns.managedZones.get":
 
 type ManagedZonesGetCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Fetch the representation of an existing ManagedZone.
 func (r *ManagedZonesService) Get(project string, managedZone string) *ManagedZonesGetCall {
-	c := &ManagedZonesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesGetCall) Fields(s ...googleapi.Field) *ManagedZonesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1187,13 +1216,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagedZonesGetCall) IfNoneMatch(entityTag string) *ManagedZonesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesGetCall) Context(ctx context.Context) *ManagedZonesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1201,17 +1230,21 @@
 
 func (c *ManagedZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
 		"managedZone": c.managedZone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1293,17 +1326,16 @@
 // method id "dns.managedZones.list":
 
 type ManagedZonesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Enumerate ManagedZones that have been created but not yet
 // deleted.
 func (r *ManagedZonesService) List(project string) *ManagedZonesListCall {
-	c := &ManagedZonesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ManagedZonesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1311,7 +1343,7 @@
 // DnsName sets the optional parameter "dnsName": Restricts the list to
 // return only zones with this domain name.
 func (c *ManagedZonesListCall) DnsName(dnsName string) *ManagedZonesListCall {
-	c.urlParams_.Set("dnsName", dnsName)
+	c.opt_["dnsName"] = dnsName
 	return c
 }
 
@@ -1319,7 +1351,7 @@
 // of results to be returned. If unspecified, the server will decide how
 // many results to return.
 func (c *ManagedZonesListCall) MaxResults(maxResults int64) *ManagedZonesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1327,15 +1359,15 @@
 // a previous list request that was truncated. Use this parameter to
 // continue a previous list request.
 func (c *ManagedZonesListCall) PageToken(pageToken string) *ManagedZonesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ManagedZonesListCall) Fields(s ...googleapi.Field) *ManagedZonesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1345,13 +1377,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ManagedZonesListCall) IfNoneMatch(entityTag string) *ManagedZonesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ManagedZonesListCall) Context(ctx context.Context) *ManagedZonesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1359,16 +1391,29 @@
 
 func (c *ManagedZonesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dnsName"]; ok {
+		params.Set("dnsName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1459,25 +1504,24 @@
 // method id "dns.projects.get":
 
 type ProjectsGetCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Fetch the representation of an existing Project.
 func (r *ProjectsService) Get(project string) *ProjectsGetCall {
-	c := &ProjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1487,13 +1531,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1501,16 +1545,20 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1585,18 +1633,17 @@
 // method id "dns.resourceRecordSets.list":
 
 type ResourceRecordSetsListCall struct {
-	s            *Service
-	project      string
-	managedZone  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	project     string
+	managedZone string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Enumerate ResourceRecordSets that have been created but not yet
 // deleted.
 func (r *ResourceRecordSetsService) List(project string, managedZone string) *ResourceRecordSetsListCall {
-	c := &ResourceRecordSetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ResourceRecordSetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.managedZone = managedZone
 	return c
@@ -1606,14 +1653,14 @@
 // of results to be returned. If unspecified, the server will decide how
 // many results to return.
 func (c *ResourceRecordSetsListCall) MaxResults(maxResults int64) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Name sets the optional parameter "name": Restricts the list to return
 // only records with this fully qualified domain name.
 func (c *ResourceRecordSetsListCall) Name(name string) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
@@ -1621,7 +1668,7 @@
 // a previous list request that was truncated. Use this parameter to
 // continue a previous list request.
 func (c *ResourceRecordSetsListCall) PageToken(pageToken string) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1629,15 +1676,15 @@
 // only records of this type. If present, the "name" parameter must also
 // be present.
 func (c *ResourceRecordSetsListCall) Type(type_ string) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ResourceRecordSetsListCall) Fields(s ...googleapi.Field) *ResourceRecordSetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1647,13 +1694,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ResourceRecordSetsListCall) IfNoneMatch(entityTag string) *ResourceRecordSetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ResourceRecordSetsListCall) Context(ctx context.Context) *ResourceRecordSetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1661,17 +1708,33 @@
 
 func (c *ResourceRecordSetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/managedZones/{managedZone}/rrsets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":     c.project,
 		"managedZone": c.managedZone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go b/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go
index 3df2b6f..900b432 100644
--- a/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go
+++ b/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go
@@ -1216,28 +1216,28 @@
 type LineitemsDownloadlineitemsCall struct {
 	s                        *Service
 	downloadlineitemsrequest *DownloadLineItemsRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Downloadlineitems: Retrieves line items in CSV format.
 func (r *LineitemsService) Downloadlineitems(downloadlineitemsrequest *DownloadLineItemsRequest) *LineitemsDownloadlineitemsCall {
-	c := &LineitemsDownloadlineitemsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LineitemsDownloadlineitemsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.downloadlineitemsrequest = downloadlineitemsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LineitemsDownloadlineitemsCall) Fields(s ...googleapi.Field) *LineitemsDownloadlineitemsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LineitemsDownloadlineitemsCall) Context(ctx context.Context) *LineitemsDownloadlineitemsCall {
 	c.ctx_ = ctx
 	return c
@@ -1250,9 +1250,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lineitems/downloadlineitems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1318,28 +1322,28 @@
 type LineitemsUploadlineitemsCall struct {
 	s                      *Service
 	uploadlineitemsrequest *UploadLineItemsRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // Uploadlineitems: Uploads line items in CSV format.
 func (r *LineitemsService) Uploadlineitems(uploadlineitemsrequest *UploadLineItemsRequest) *LineitemsUploadlineitemsCall {
-	c := &LineitemsUploadlineitemsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LineitemsUploadlineitemsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.uploadlineitemsrequest = uploadlineitemsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LineitemsUploadlineitemsCall) Fields(s ...googleapi.Field) *LineitemsUploadlineitemsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LineitemsUploadlineitemsCall) Context(ctx context.Context) *LineitemsUploadlineitemsCall {
 	c.ctx_ = ctx
 	return c
@@ -1352,9 +1356,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lineitems/uploadlineitems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1418,30 +1426,30 @@
 // method id "doubleclickbidmanager.queries.createquery":
 
 type QueriesCreatequeryCall struct {
-	s          *Service
-	query      *Query
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	query *Query
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Createquery: Creates a query.
 func (r *QueriesService) Createquery(query *Query) *QueriesCreatequeryCall {
-	c := &QueriesCreatequeryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QueriesCreatequeryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.query = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QueriesCreatequeryCall) Fields(s ...googleapi.Field) *QueriesCreatequeryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QueriesCreatequeryCall) Context(ctx context.Context) *QueriesCreatequeryCall {
 	c.ctx_ = ctx
 	return c
@@ -1454,9 +1462,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1520,31 +1532,31 @@
 // method id "doubleclickbidmanager.queries.deletequery":
 
 type QueriesDeletequeryCall struct {
-	s          *Service
-	queryId    int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	queryId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Deletequery: Deletes a stored query as well as the associated stored
 // reports.
 func (r *QueriesService) Deletequery(queryId int64) *QueriesDeletequeryCall {
-	c := &QueriesDeletequeryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QueriesDeletequeryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.queryId = queryId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QueriesDeletequeryCall) Fields(s ...googleapi.Field) *QueriesDeletequeryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QueriesDeletequeryCall) Context(ctx context.Context) *QueriesDeletequeryCall {
 	c.ctx_ = ctx
 	return c
@@ -1552,9 +1564,13 @@
 
 func (c *QueriesDeletequeryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"queryId": strconv.FormatInt(c.queryId, 10),
@@ -1601,25 +1617,24 @@
 // method id "doubleclickbidmanager.queries.getquery":
 
 type QueriesGetqueryCall struct {
-	s            *Service
-	queryId      int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	queryId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Getquery: Retrieves a stored query.
 func (r *QueriesService) Getquery(queryId int64) *QueriesGetqueryCall {
-	c := &QueriesGetqueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QueriesGetqueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.queryId = queryId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QueriesGetqueryCall) Fields(s ...googleapi.Field) *QueriesGetqueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1629,13 +1644,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *QueriesGetqueryCall) IfNoneMatch(entityTag string) *QueriesGetqueryCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QueriesGetqueryCall) Context(ctx context.Context) *QueriesGetqueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1643,16 +1658,20 @@
 
 func (c *QueriesGetqueryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"queryId": strconv.FormatInt(c.queryId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1722,23 +1741,22 @@
 // method id "doubleclickbidmanager.queries.listqueries":
 
 type QueriesListqueriesCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Listqueries: Retrieves stored queries.
 func (r *QueriesService) Listqueries() *QueriesListqueriesCall {
-	c := &QueriesListqueriesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QueriesListqueriesCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QueriesListqueriesCall) Fields(s ...googleapi.Field) *QueriesListqueriesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1748,13 +1766,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *QueriesListqueriesCall) IfNoneMatch(entityTag string) *QueriesListqueriesCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QueriesListqueriesCall) Context(ctx context.Context) *QueriesListqueriesCall {
 	c.ctx_ = ctx
 	return c
@@ -1762,14 +1780,18 @@
 
 func (c *QueriesListqueriesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "queries")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1830,29 +1852,29 @@
 	s               *Service
 	queryId         int64
 	runqueryrequest *RunQueryRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Runquery: Runs a stored query to generate a report.
 func (r *QueriesService) Runquery(queryId int64, runqueryrequest *RunQueryRequest) *QueriesRunqueryCall {
-	c := &QueriesRunqueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QueriesRunqueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.queryId = queryId
 	c.runqueryrequest = runqueryrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QueriesRunqueryCall) Fields(s ...googleapi.Field) *QueriesRunqueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QueriesRunqueryCall) Context(ctx context.Context) *QueriesRunqueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1865,9 +1887,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"queryId": strconv.FormatInt(c.queryId, 10),
@@ -1918,25 +1944,24 @@
 // method id "doubleclickbidmanager.reports.listreports":
 
 type ReportsListreportsCall struct {
-	s            *Service
-	queryId      int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	queryId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Listreports: Retrieves stored reports.
 func (r *ReportsService) Listreports(queryId int64) *ReportsListreportsCall {
-	c := &ReportsListreportsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsListreportsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.queryId = queryId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsListreportsCall) Fields(s ...googleapi.Field) *ReportsListreportsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1946,13 +1971,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsListreportsCall) IfNoneMatch(entityTag string) *ReportsListreportsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsListreportsCall) Context(ctx context.Context) *ReportsListreportsCall {
 	c.ctx_ = ctx
 	return c
@@ -1960,16 +1985,20 @@
 
 func (c *ReportsListreportsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "queries/{queryId}/reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"queryId": strconv.FormatInt(c.queryId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/doubleclicksearch/v2/doubleclicksearch-gen.go b/doubleclicksearch/v2/doubleclicksearch-gen.go
index cd7ff8c..225d2fb 100644
--- a/doubleclicksearch/v2/doubleclicksearch-gen.go
+++ b/doubleclicksearch/v2/doubleclicksearch-gen.go
@@ -844,57 +844,60 @@
 	agencyId        int64
 	advertiserId    int64
 	engineAccountId int64
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	endDate         int64
+	rowCount        int64
+	startDate       int64
+	startRow        int64
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Retrieves a list of conversions from a DoubleClick Search engine
 // account.
 func (r *ConversionService) Get(agencyId int64, advertiserId int64, engineAccountId int64, endDate int64, rowCount int64, startDate int64, startRow int64) *ConversionGetCall {
-	c := &ConversionGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConversionGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.agencyId = agencyId
 	c.advertiserId = advertiserId
 	c.engineAccountId = engineAccountId
-	c.urlParams_.Set("endDate", fmt.Sprintf("%v", endDate))
-	c.urlParams_.Set("rowCount", fmt.Sprintf("%v", rowCount))
-	c.urlParams_.Set("startDate", fmt.Sprintf("%v", startDate))
-	c.urlParams_.Set("startRow", fmt.Sprintf("%v", startRow))
+	c.endDate = endDate
+	c.rowCount = rowCount
+	c.startDate = startDate
+	c.startRow = startRow
 	return c
 }
 
 // AdGroupId sets the optional parameter "adGroupId": Numeric ID of the
 // ad group.
 func (c *ConversionGetCall) AdGroupId(adGroupId int64) *ConversionGetCall {
-	c.urlParams_.Set("adGroupId", fmt.Sprintf("%v", adGroupId))
+	c.opt_["adGroupId"] = adGroupId
 	return c
 }
 
 // AdId sets the optional parameter "adId": Numeric ID of the ad.
 func (c *ConversionGetCall) AdId(adId int64) *ConversionGetCall {
-	c.urlParams_.Set("adId", fmt.Sprintf("%v", adId))
+	c.opt_["adId"] = adId
 	return c
 }
 
 // CampaignId sets the optional parameter "campaignId": Numeric ID of
 // the campaign.
 func (c *ConversionGetCall) CampaignId(campaignId int64) *ConversionGetCall {
-	c.urlParams_.Set("campaignId", fmt.Sprintf("%v", campaignId))
+	c.opt_["campaignId"] = campaignId
 	return c
 }
 
 // CriterionId sets the optional parameter "criterionId": Numeric ID of
 // the criterion.
 func (c *ConversionGetCall) CriterionId(criterionId int64) *ConversionGetCall {
-	c.urlParams_.Set("criterionId", fmt.Sprintf("%v", criterionId))
+	c.opt_["criterionId"] = criterionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConversionGetCall) Fields(s ...googleapi.Field) *ConversionGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -904,13 +907,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ConversionGetCall) IfNoneMatch(entityTag string) *ConversionGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConversionGetCall) Context(ctx context.Context) *ConversionGetCall {
 	c.ctx_ = ctx
 	return c
@@ -918,9 +921,29 @@
 
 func (c *ConversionGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("rowCount", fmt.Sprintf("%v", c.rowCount))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	params.Set("startRow", fmt.Sprintf("%v", c.startRow))
+	if v, ok := c.opt_["adGroupId"]; ok {
+		params.Set("adGroupId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["adId"]; ok {
+		params.Set("adId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["campaignId"]; ok {
+		params.Set("campaignId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["criterionId"]; ok {
+		params.Set("criterionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "agency/{agencyId}/advertiser/{advertiserId}/engine/{engineAccountId}/conversion")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"agencyId":        strconv.FormatInt(c.agencyId, 10),
@@ -928,8 +951,8 @@
 		"engineAccountId": strconv.FormatInt(c.engineAccountId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1082,28 +1105,28 @@
 type ConversionInsertCall struct {
 	s              *Service
 	conversionlist *ConversionList
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Inserts a batch of new conversions into DoubleClick Search.
 func (r *ConversionService) Insert(conversionlist *ConversionList) *ConversionInsertCall {
-	c := &ConversionInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConversionInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.conversionlist = conversionlist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConversionInsertCall) Fields(s ...googleapi.Field) *ConversionInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConversionInsertCall) Context(ctx context.Context) *ConversionInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1116,9 +1139,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "conversion")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1185,38 +1212,45 @@
 // method id "doubleclicksearch.conversion.patch":
 
 type ConversionPatchCall struct {
-	s              *Service
-	conversionlist *ConversionList
-	urlParams_     internal.URLParams
-	ctx_           context.Context
+	s               *Service
+	advertiserId    int64
+	agencyId        int64
+	endDate         int64
+	engineAccountId int64
+	rowCount        int64
+	startDate       int64
+	startRow        int64
+	conversionlist  *ConversionList
+	opt_            map[string]interface{}
+	ctx_            context.Context
 }
 
 // Patch: Updates a batch of conversions in DoubleClick Search. This
 // method supports patch semantics.
 func (r *ConversionService) Patch(advertiserId int64, agencyId int64, endDate int64, engineAccountId int64, rowCount int64, startDate int64, startRow int64, conversionlist *ConversionList) *ConversionPatchCall {
-	c := &ConversionPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("advertiserId", fmt.Sprintf("%v", advertiserId))
-	c.urlParams_.Set("agencyId", fmt.Sprintf("%v", agencyId))
-	c.urlParams_.Set("endDate", fmt.Sprintf("%v", endDate))
-	c.urlParams_.Set("engineAccountId", fmt.Sprintf("%v", engineAccountId))
-	c.urlParams_.Set("rowCount", fmt.Sprintf("%v", rowCount))
-	c.urlParams_.Set("startDate", fmt.Sprintf("%v", startDate))
-	c.urlParams_.Set("startRow", fmt.Sprintf("%v", startRow))
+	c := &ConversionPatchCall{s: r.s, opt_: make(map[string]interface{})}
+	c.advertiserId = advertiserId
+	c.agencyId = agencyId
+	c.endDate = endDate
+	c.engineAccountId = engineAccountId
+	c.rowCount = rowCount
+	c.startDate = startDate
+	c.startRow = startRow
 	c.conversionlist = conversionlist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConversionPatchCall) Fields(s ...googleapi.Field) *ConversionPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConversionPatchCall) Context(ctx context.Context) *ConversionPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1229,9 +1263,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("advertiserId", fmt.Sprintf("%v", c.advertiserId))
+	params.Set("agencyId", fmt.Sprintf("%v", c.agencyId))
+	params.Set("endDate", fmt.Sprintf("%v", c.endDate))
+	params.Set("engineAccountId", fmt.Sprintf("%v", c.engineAccountId))
+	params.Set("rowCount", fmt.Sprintf("%v", c.rowCount))
+	params.Set("startDate", fmt.Sprintf("%v", c.startDate))
+	params.Set("startRow", fmt.Sprintf("%v", c.startRow))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "conversion")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1366,28 +1411,28 @@
 type ConversionUpdateCall struct {
 	s              *Service
 	conversionlist *ConversionList
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates a batch of conversions in DoubleClick Search.
 func (r *ConversionService) Update(conversionlist *ConversionList) *ConversionUpdateCall {
-	c := &ConversionUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConversionUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.conversionlist = conversionlist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConversionUpdateCall) Fields(s ...googleapi.Field) *ConversionUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConversionUpdateCall) Context(ctx context.Context) *ConversionUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1400,9 +1445,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "conversion")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1471,29 +1520,29 @@
 type ConversionUpdateAvailabilityCall struct {
 	s                         *Service
 	updateavailabilityrequest *UpdateAvailabilityRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // UpdateAvailability: Updates the availabilities of a batch of
 // floodlight activities in DoubleClick Search.
 func (r *ConversionService) UpdateAvailability(updateavailabilityrequest *UpdateAvailabilityRequest) *ConversionUpdateAvailabilityCall {
-	c := &ConversionUpdateAvailabilityCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ConversionUpdateAvailabilityCall{s: r.s, opt_: make(map[string]interface{})}
 	c.updateavailabilityrequest = updateavailabilityrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ConversionUpdateAvailabilityCall) Fields(s ...googleapi.Field) *ConversionUpdateAvailabilityCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ConversionUpdateAvailabilityCall) Context(ctx context.Context) *ConversionUpdateAvailabilityCall {
 	c.ctx_ = ctx
 	return c
@@ -1506,9 +1555,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "conversion/updateAvailability")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1578,28 +1631,28 @@
 type ReportsGenerateCall struct {
 	s             *Service
 	reportrequest *ReportRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Generate: Generates and returns a report immediately.
 func (r *ReportsService) Generate(reportrequest *ReportRequest) *ReportsGenerateCall {
-	c := &ReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGenerateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportrequest = reportrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGenerateCall) Fields(s ...googleapi.Field) *ReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGenerateCall) Context(ctx context.Context) *ReportsGenerateCall {
 	c.ctx_ = ctx
 	return c
@@ -1612,9 +1665,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/generate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1682,25 +1739,24 @@
 // method id "doubleclicksearch.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	reportId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	reportId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Polls for the status of a report request.
 func (r *ReportsService) Get(reportId string) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1710,13 +1766,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1724,16 +1780,20 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId": c.reportId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1808,24 +1868,23 @@
 	s              *Service
 	reportId       string
 	reportFragment int64
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // GetFile: Downloads a report file encoded in UTF-8.
 func (r *ReportsService) GetFile(reportId string, reportFragment int64) *ReportsGetFileCall {
-	c := &ReportsGetFileCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetFileCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportId = reportId
 	c.reportFragment = reportFragment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetFileCall) Fields(s ...googleapi.Field) *ReportsGetFileCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1835,13 +1894,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetFileCall) IfNoneMatch(entityTag string) *ReportsGetFileCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetFileCall) Context(ctx context.Context) *ReportsGetFileCall {
 	c.ctx_ = ctx
 	return c
@@ -1849,17 +1908,21 @@
 
 func (c *ReportsGetFileCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{reportFragment}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"reportId":       c.reportId,
 		"reportFragment": strconv.FormatInt(c.reportFragment, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1931,28 +1994,28 @@
 type ReportsRequestCall struct {
 	s             *Service
 	reportrequest *ReportRequest
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Request: Inserts a report request into the reporting system.
 func (r *ReportsService) Request(reportrequest *ReportRequest) *ReportsRequestCall {
-	c := &ReportsRequestCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsRequestCall{s: r.s, opt_: make(map[string]interface{})}
 	c.reportrequest = reportrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsRequestCall) Fields(s ...googleapi.Field) *ReportsRequestCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsRequestCall) Context(ctx context.Context) *ReportsRequestCall {
 	c.ctx_ = ctx
 	return c
@@ -1965,9 +2028,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2038,24 +2105,23 @@
 	s            *Service
 	agencyId     int64
 	advertiserId int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // List: Retrieve the list of saved columns for a specified advertiser.
 func (r *SavedColumnsService) List(agencyId int64, advertiserId int64) *SavedColumnsListCall {
-	c := &SavedColumnsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SavedColumnsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.agencyId = agencyId
 	c.advertiserId = advertiserId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SavedColumnsListCall) Fields(s ...googleapi.Field) *SavedColumnsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2065,13 +2131,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SavedColumnsListCall) IfNoneMatch(entityTag string) *SavedColumnsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SavedColumnsListCall) Context(ctx context.Context) *SavedColumnsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2079,17 +2145,21 @@
 
 func (c *SavedColumnsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "agency/{agencyId}/advertiser/{advertiserId}/savedcolumns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"agencyId":     strconv.FormatInt(c.agencyId, 10),
 		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/drive/v1/drive-gen.go b/drive/v1/drive-gen.go
index 65d9017..5a0790f 100644
--- a/drive/v1/drive-gen.go
+++ b/drive/v1/drive-gen.go
@@ -280,16 +280,15 @@
 // method id "drive.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets a file's metadata by id.
 func (r *FilesService) Get(id string) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -301,7 +300,7 @@
 //   "BASIC" - Deprecated
 //   "FULL" - Deprecated
 func (c *FilesGetCall) Projection(projection string) *FilesGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -309,15 +308,15 @@
 // Whether to update the view date after successfully retrieving the
 // file.
 func (c *FilesGetCall) UpdateViewedDate(updateViewedDate bool) *FilesGetCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -327,13 +326,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -341,16 +340,26 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -441,39 +450,38 @@
 // method id "drive.files.insert":
 
 type FilesInsertCall struct {
-	s                *Service
-	file             *File
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	file       *File
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Inserts a file, and any settable metadata or blob content
 // sent with the request.
 func (r *FilesService) Insert(file *File) *FilesInsertCall {
-	c := &FilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.file = file
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *FilesInsertCall) Media(r io.Reader) *FilesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *FilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -482,28 +490,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *FilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesInsertCall) Fields(s ...googleapi.Field) *FilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *FilesInsertCall) Context(ctx context.Context) *FilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -516,13 +523,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -573,6 +584,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -582,7 +599,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -638,17 +655,17 @@
 // method id "drive.files.patch":
 
 type FilesPatchCall struct {
-	s          *Service
-	id         string
-	file       *File
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	file *File
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Patch: Updates file metadata and/or content. This method supports
 // patch semantics.
 func (r *FilesService) Patch(id string, file *File) *FilesPatchCall {
-	c := &FilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.file = file
 	return c
@@ -662,7 +679,7 @@
 // indefinitely, using additional storage quota, up to a maximum of 200
 // revisions.
 func (c *FilesPatchCall) NewRevision(newRevision bool) *FilesPatchCall {
-	c.urlParams_.Set("newRevision", fmt.Sprintf("%v", newRevision))
+	c.opt_["newRevision"] = newRevision
 	return c
 }
 
@@ -673,28 +690,28 @@
 // will only be updated to the current time if other changes are also
 // being made (changing the title, for example).
 func (c *FilesPatchCall) UpdateModifiedDate(updateModifiedDate bool) *FilesPatchCall {
-	c.urlParams_.Set("updateModifiedDate", fmt.Sprintf("%v", updateModifiedDate))
+	c.opt_["updateModifiedDate"] = updateModifiedDate
 	return c
 }
 
 // UpdateViewedDate sets the optional parameter "updateViewedDate":
 // Whether to update the view date after successfully updating the file.
 func (c *FilesPatchCall) UpdateViewedDate(updateViewedDate bool) *FilesPatchCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesPatchCall) Fields(s ...googleapi.Field) *FilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesPatchCall) Context(ctx context.Context) *FilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -707,9 +724,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["newRevision"]; ok {
+		params.Set("newRevision", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateModifiedDate"]; ok {
+		params.Set("updateModifiedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -807,21 +837,20 @@
 // method id "drive.files.update":
 
 type FilesUpdateCall struct {
-	s                *Service
-	id               string
-	file             *File
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	id         string
+	file       *File
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Update: Updates file metadata and/or content
 func (r *FilesService) Update(id string, file *File) *FilesUpdateCall {
-	c := &FilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.file = file
 	return c
@@ -835,7 +864,7 @@
 // indefinitely, using additional storage quota, up to a maximum of 200
 // revisions.
 func (c *FilesUpdateCall) NewRevision(newRevision bool) *FilesUpdateCall {
-	c.urlParams_.Set("newRevision", fmt.Sprintf("%v", newRevision))
+	c.opt_["newRevision"] = newRevision
 	return c
 }
 
@@ -846,31 +875,31 @@
 // will only be updated to the current time if other changes are also
 // being made (changing the title, for example).
 func (c *FilesUpdateCall) UpdateModifiedDate(updateModifiedDate bool) *FilesUpdateCall {
-	c.urlParams_.Set("updateModifiedDate", fmt.Sprintf("%v", updateModifiedDate))
+	c.opt_["updateModifiedDate"] = updateModifiedDate
 	return c
 }
 
 // UpdateViewedDate sets the optional parameter "updateViewedDate":
 // Whether to update the view date after successfully updating the file.
 func (c *FilesUpdateCall) UpdateViewedDate(updateViewedDate bool) *FilesUpdateCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *FilesUpdateCall) Media(r io.Reader) *FilesUpdateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *FilesUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesUpdateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -879,28 +908,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *FilesUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesUpdateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesUpdateCall) Fields(s ...googleapi.Field) *FilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *FilesUpdateCall) Context(ctx context.Context) *FilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -913,13 +941,26 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["newRevision"]; ok {
+		params.Set("newRevision", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateModifiedDate"]; ok {
+		params.Set("updateModifiedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{id}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -972,6 +1013,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -981,7 +1028,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
diff --git a/drive/v2/drive-gen.go b/drive/v2/drive-gen.go
index d6bb751..86fc610 100644
--- a/drive/v2/drive-gen.go
+++ b/drive/v2/drive-gen.go
@@ -2151,16 +2151,15 @@
 // method id "drive.about.get":
 
 type AboutGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets the information about the current user along with Drive API
 // settings
 func (r *AboutService) Get() *AboutGetCall {
-	c := &AboutGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AboutGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -2171,14 +2170,14 @@
 // or public files that the user has explicitly added to a folder they
 // own.
 func (c *AboutGetCall) IncludeSubscribed(includeSubscribed bool) *AboutGetCall {
-	c.urlParams_.Set("includeSubscribed", fmt.Sprintf("%v", includeSubscribed))
+	c.opt_["includeSubscribed"] = includeSubscribed
 	return c
 }
 
 // MaxChangeIdCount sets the optional parameter "maxChangeIdCount":
 // Maximum number of remaining change IDs to count
 func (c *AboutGetCall) MaxChangeIdCount(maxChangeIdCount int64) *AboutGetCall {
-	c.urlParams_.Set("maxChangeIdCount", fmt.Sprintf("%v", maxChangeIdCount))
+	c.opt_["maxChangeIdCount"] = maxChangeIdCount
 	return c
 }
 
@@ -2186,15 +2185,15 @@
 // to start counting from when calculating number of remaining change
 // IDs
 func (c *AboutGetCall) StartChangeId(startChangeId int64) *AboutGetCall {
-	c.urlParams_.Set("startChangeId", fmt.Sprintf("%v", startChangeId))
+	c.opt_["startChangeId"] = startChangeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AboutGetCall) Fields(s ...googleapi.Field) *AboutGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2204,13 +2203,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AboutGetCall) IfNoneMatch(entityTag string) *AboutGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AboutGetCall) Context(ctx context.Context) *AboutGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2218,14 +2217,27 @@
 
 func (c *AboutGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeSubscribed"]; ok {
+		params.Set("includeSubscribed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxChangeIdCount"]; ok {
+		params.Set("maxChangeIdCount", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startChangeId"]; ok {
+		params.Set("startChangeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "about")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2313,25 +2325,24 @@
 // method id "drive.apps.get":
 
 type AppsGetCall struct {
-	s            *Service
-	appId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	appId string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Gets a specific app.
 func (r *AppsService) Get(appId string) *AppsGetCall {
-	c := &AppsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.appId = appId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsGetCall) Fields(s ...googleapi.Field) *AppsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2341,13 +2352,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsGetCall) IfNoneMatch(entityTag string) *AppsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsGetCall) Context(ctx context.Context) *AppsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2355,16 +2366,20 @@
 
 func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "apps/{appId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"appId": c.appId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2442,15 +2457,14 @@
 // method id "drive.apps.list":
 
 type AppsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists a user's installed apps.
 func (r *AppsService) List() *AppsListCall {
-	c := &AppsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AppsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -2461,7 +2475,7 @@
 // response. If appFilterMimeTypes are provided as well, the result is a
 // union of the two resulting app lists.
 func (c *AppsListCall) AppFilterExtensions(appFilterExtensions string) *AppsListCall {
-	c.urlParams_.Set("appFilterExtensions", appFilterExtensions)
+	c.opt_["appFilterExtensions"] = appFilterExtensions
 	return c
 }
 
@@ -2472,7 +2486,7 @@
 // are provided as well, the result is a union of the two resulting app
 // lists.
 func (c *AppsListCall) AppFilterMimeTypes(appFilterMimeTypes string) *AppsListCall {
-	c.urlParams_.Set("appFilterMimeTypes", appFilterMimeTypes)
+	c.opt_["appFilterMimeTypes"] = appFilterMimeTypes
 	return c
 }
 
@@ -2480,15 +2494,15 @@
 // or locale code, as defined by BCP 47, with some extensions from
 // Unicode's LDML format (http://www.unicode.org/reports/tr35/).
 func (c *AppsListCall) LanguageCode(languageCode string) *AppsListCall {
-	c.urlParams_.Set("languageCode", languageCode)
+	c.opt_["languageCode"] = languageCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AppsListCall) Fields(s ...googleapi.Field) *AppsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2498,13 +2512,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AppsListCall) IfNoneMatch(entityTag string) *AppsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AppsListCall) Context(ctx context.Context) *AppsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2512,14 +2526,27 @@
 
 func (c *AppsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["appFilterExtensions"]; ok {
+		params.Set("appFilterExtensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["appFilterMimeTypes"]; ok {
+		params.Set("appFilterMimeTypes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["languageCode"]; ok {
+		params.Set("languageCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "apps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2599,25 +2626,24 @@
 // method id "drive.changes.get":
 
 type ChangesGetCall struct {
-	s            *Service
-	changeId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	changeId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Gets a specific change.
 func (r *ChangesService) Get(changeId string) *ChangesGetCall {
-	c := &ChangesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.changeId = changeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesGetCall) Fields(s ...googleapi.Field) *ChangesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2627,13 +2653,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangesGetCall) IfNoneMatch(entityTag string) *ChangesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesGetCall) Context(ctx context.Context) *ChangesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2641,16 +2667,20 @@
 
 func (c *ChangesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "changes/{changeId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"changeId": c.changeId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2729,22 +2759,21 @@
 // method id "drive.changes.list":
 
 type ChangesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the changes for a user.
 func (r *ChangesService) List() *ChangesListCall {
-	c := &ChangesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // IncludeDeleted sets the optional parameter "includeDeleted": Whether
 // to include deleted items.
 func (c *ChangesListCall) IncludeDeleted(includeDeleted bool) *ChangesListCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
@@ -2753,21 +2782,21 @@
 // When set to false, the list only includes owned files plus any shared
 // or public files the user has explicitly added to a folder they own.
 func (c *ChangesListCall) IncludeSubscribed(includeSubscribed bool) *ChangesListCall {
-	c.urlParams_.Set("includeSubscribed", fmt.Sprintf("%v", includeSubscribed))
+	c.opt_["includeSubscribed"] = includeSubscribed
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of changes to return.
 func (c *ChangesListCall) MaxResults(maxResults int64) *ChangesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token for
 // changes.
 func (c *ChangesListCall) PageToken(pageToken string) *ChangesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2775,22 +2804,22 @@
 // of spaces to query. Supported values are 'drive', 'appDataFolder' and
 // 'photos'.
 func (c *ChangesListCall) Spaces(spaces string) *ChangesListCall {
-	c.urlParams_.Set("spaces", spaces)
+	c.opt_["spaces"] = spaces
 	return c
 }
 
 // StartChangeId sets the optional parameter "startChangeId": Change ID
 // to start listing changes from.
 func (c *ChangesListCall) StartChangeId(startChangeId int64) *ChangesListCall {
-	c.urlParams_.Set("startChangeId", fmt.Sprintf("%v", startChangeId))
+	c.opt_["startChangeId"] = startChangeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesListCall) Fields(s ...googleapi.Field) *ChangesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2800,13 +2829,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChangesListCall) IfNoneMatch(entityTag string) *ChangesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesListCall) Context(ctx context.Context) *ChangesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2814,14 +2843,36 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeSubscribed"]; ok {
+		params.Set("includeSubscribed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["spaces"]; ok {
+		params.Set("spaces", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startChangeId"]; ok {
+		params.Set("startChangeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "changes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2928,15 +2979,15 @@
 // method id "drive.changes.watch":
 
 type ChangesWatchCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Watch: Subscribe to changes for a user.
 func (r *ChangesService) Watch(channel *Channel) *ChangesWatchCall {
-	c := &ChangesWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChangesWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
@@ -2944,7 +2995,7 @@
 // IncludeDeleted sets the optional parameter "includeDeleted": Whether
 // to include deleted items.
 func (c *ChangesWatchCall) IncludeDeleted(includeDeleted bool) *ChangesWatchCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
@@ -2953,21 +3004,21 @@
 // When set to false, the list only includes owned files plus any shared
 // or public files the user has explicitly added to a folder they own.
 func (c *ChangesWatchCall) IncludeSubscribed(includeSubscribed bool) *ChangesWatchCall {
-	c.urlParams_.Set("includeSubscribed", fmt.Sprintf("%v", includeSubscribed))
+	c.opt_["includeSubscribed"] = includeSubscribed
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of changes to return.
 func (c *ChangesWatchCall) MaxResults(maxResults int64) *ChangesWatchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token for
 // changes.
 func (c *ChangesWatchCall) PageToken(pageToken string) *ChangesWatchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2975,28 +3026,28 @@
 // of spaces to query. Supported values are 'drive', 'appDataFolder' and
 // 'photos'.
 func (c *ChangesWatchCall) Spaces(spaces string) *ChangesWatchCall {
-	c.urlParams_.Set("spaces", spaces)
+	c.opt_["spaces"] = spaces
 	return c
 }
 
 // StartChangeId sets the optional parameter "startChangeId": Change ID
 // to start listing changes from.
 func (c *ChangesWatchCall) StartChangeId(startChangeId int64) *ChangesWatchCall {
-	c.urlParams_.Set("startChangeId", fmt.Sprintf("%v", startChangeId))
+	c.opt_["startChangeId"] = startChangeId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChangesWatchCall) Fields(s ...googleapi.Field) *ChangesWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChangesWatchCall) Context(ctx context.Context) *ChangesWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3009,9 +3060,31 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeSubscribed"]; ok {
+		params.Set("includeSubscribed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["spaces"]; ok {
+		params.Set("spaces", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startChangeId"]; ok {
+		params.Set("startChangeId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "changes/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3125,30 +3198,30 @@
 // method id "drive.channels.stop":
 
 type ChannelsStopCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Stop: Stop watching resources through this channel
 func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
-	c := &ChannelsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -3161,9 +3234,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channels/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3211,32 +3288,32 @@
 // method id "drive.children.delete":
 
 type ChildrenDeleteCall struct {
-	s          *Service
-	folderId   string
-	childId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	folderId string
+	childId  string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Removes a child from a folder.
 func (r *ChildrenService) Delete(folderId string, childId string) *ChildrenDeleteCall {
-	c := &ChildrenDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChildrenDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.folderId = folderId
 	c.childId = childId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChildrenDeleteCall) Fields(s ...googleapi.Field) *ChildrenDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChildrenDeleteCall) Context(ctx context.Context) *ChildrenDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3244,9 +3321,13 @@
 
 func (c *ChildrenDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{folderId}/children/{childId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"folderId": c.folderId,
@@ -3304,27 +3385,26 @@
 // method id "drive.children.get":
 
 type ChildrenGetCall struct {
-	s            *Service
-	folderId     string
-	childId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	folderId string
+	childId  string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Gets a specific child reference.
 func (r *ChildrenService) Get(folderId string, childId string) *ChildrenGetCall {
-	c := &ChildrenGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChildrenGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.folderId = folderId
 	c.childId = childId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChildrenGetCall) Fields(s ...googleapi.Field) *ChildrenGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3334,13 +3414,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChildrenGetCall) IfNoneMatch(entityTag string) *ChildrenGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChildrenGetCall) Context(ctx context.Context) *ChildrenGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3348,17 +3428,21 @@
 
 func (c *ChildrenGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{folderId}/children/{childId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"folderId": c.folderId,
 		"childId":  c.childId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3446,29 +3530,29 @@
 	s              *Service
 	folderId       string
 	childreference *ChildReference
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Inserts a file into a folder.
 func (r *ChildrenService) Insert(folderId string, childreference *ChildReference) *ChildrenInsertCall {
-	c := &ChildrenInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChildrenInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.folderId = folderId
 	c.childreference = childreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChildrenInsertCall) Fields(s ...googleapi.Field) *ChildrenInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChildrenInsertCall) Context(ctx context.Context) *ChildrenInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3481,9 +3565,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{folderId}/children")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"folderId": c.folderId,
@@ -3565,16 +3653,15 @@
 // method id "drive.children.list":
 
 type ChildrenListCall struct {
-	s            *Service
-	folderId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	folderId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists a folder's children.
 func (r *ChildrenService) List(folderId string) *ChildrenListCall {
-	c := &ChildrenListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChildrenListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.folderId = folderId
 	return c
 }
@@ -3582,7 +3669,7 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of children to return.
 func (c *ChildrenListCall) MaxResults(maxResults int64) *ChildrenListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3596,29 +3683,29 @@
 // with approximately one million files in which the requested sort
 // order is ignored.
 func (c *ChildrenListCall) OrderBy(orderBy string) *ChildrenListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token for
 // children.
 func (c *ChildrenListCall) PageToken(pageToken string) *ChildrenListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Q sets the optional parameter "q": Query string for searching
 // children.
 func (c *ChildrenListCall) Q(q string) *ChildrenListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChildrenListCall) Fields(s ...googleapi.Field) *ChildrenListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3628,13 +3715,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChildrenListCall) IfNoneMatch(entityTag string) *ChildrenListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChildrenListCall) Context(ctx context.Context) *ChildrenListCall {
 	c.ctx_ = ctx
 	return c
@@ -3642,16 +3729,32 @@
 
 func (c *ChildrenListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{folderId}/children")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"folderId": c.folderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3752,32 +3855,32 @@
 // method id "drive.comments.delete":
 
 type CommentsDeleteCall struct {
-	s          *Service
-	fileId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a comment.
 func (r *CommentsService) Delete(fileId string, commentId string) *CommentsDeleteCall {
-	c := &CommentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsDeleteCall) Fields(s ...googleapi.Field) *CommentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsDeleteCall) Context(ctx context.Context) *CommentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3785,9 +3888,13 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -3845,17 +3952,16 @@
 // method id "drive.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	fileId       string
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a comment by ID.
 func (r *CommentsService) Get(fileId string, commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	return c
@@ -3865,15 +3971,15 @@
 // this will succeed when retrieving a deleted comment, and will include
 // any deleted replies.
 func (c *CommentsGetCall) IncludeDeleted(includeDeleted bool) *CommentsGetCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3883,13 +3989,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3897,17 +4003,24 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3994,32 +4107,32 @@
 // method id "drive.comments.insert":
 
 type CommentsInsertCall struct {
-	s          *Service
-	fileId     string
-	comment    *Comment
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	fileId  string
+	comment *Comment
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a new comment on the given file.
 func (r *CommentsService) Insert(fileId string, comment *Comment) *CommentsInsertCall {
-	c := &CommentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.comment = comment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsInsertCall) Fields(s ...googleapi.Field) *CommentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsInsertCall) Context(ctx context.Context) *CommentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4032,9 +4145,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -4115,16 +4232,15 @@
 // method id "drive.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists a file's comments.
 func (r *CommentsService) List(fileId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
@@ -4133,14 +4249,14 @@
 // all comments and replies, including deleted comments and replies
 // (with content stripped) will be returned.
 func (c *CommentsListCall) IncludeDeleted(includeDeleted bool) *CommentsListCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of discussions to include in the response, used for paging.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4149,7 +4265,7 @@
 // of results, set this parameter to the value of "nextPageToken" from
 // the previous response.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4157,15 +4273,15 @@
 // that were updated after this timestamp will be returned. Formatted as
 // an RFC 3339 timestamp.
 func (c *CommentsListCall) UpdatedMin(updatedMin string) *CommentsListCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4175,13 +4291,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4189,16 +4305,32 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4297,35 +4429,35 @@
 // method id "drive.comments.patch":
 
 type CommentsPatchCall struct {
-	s          *Service
-	fileId     string
-	commentId  string
-	comment    *Comment
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	comment   *Comment
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates an existing comment. This method supports patch
 // semantics.
 func (r *CommentsService) Patch(fileId string, commentId string, comment *Comment) *CommentsPatchCall {
-	c := &CommentsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.comment = comment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsPatchCall) Fields(s ...googleapi.Field) *CommentsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsPatchCall) Context(ctx context.Context) *CommentsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4338,9 +4470,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -4429,34 +4565,34 @@
 // method id "drive.comments.update":
 
 type CommentsUpdateCall struct {
-	s          *Service
-	fileId     string
-	commentId  string
-	comment    *Comment
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	comment   *Comment
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates an existing comment.
 func (r *CommentsService) Update(fileId string, commentId string, comment *Comment) *CommentsUpdateCall {
-	c := &CommentsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.comment = comment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsUpdateCall) Fields(s ...googleapi.Field) *CommentsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsUpdateCall) Context(ctx context.Context) *CommentsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4469,9 +4605,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -4560,16 +4700,16 @@
 // method id "drive.files.copy":
 
 type FilesCopyCall struct {
-	s          *Service
-	fileId     string
-	file       *File
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	fileId string
+	file   *File
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Copy: Creates a copy of the specified file.
 func (r *FilesService) Copy(fileId string, file *File) *FilesCopyCall {
-	c := &FilesCopyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesCopyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.file = file
 	return c
@@ -4578,21 +4718,21 @@
 // Convert sets the optional parameter "convert": Whether to convert
 // this file to the corresponding Google Docs format.
 func (c *FilesCopyCall) Convert(convert bool) *FilesCopyCall {
-	c.urlParams_.Set("convert", fmt.Sprintf("%v", convert))
+	c.opt_["convert"] = convert
 	return c
 }
 
 // Ocr sets the optional parameter "ocr": Whether to attempt OCR on
 // .jpg, .png, .gif, or .pdf uploads.
 func (c *FilesCopyCall) Ocr(ocr bool) *FilesCopyCall {
-	c.urlParams_.Set("ocr", fmt.Sprintf("%v", ocr))
+	c.opt_["ocr"] = ocr
 	return c
 }
 
 // OcrLanguage sets the optional parameter "ocrLanguage": If ocr is
 // true, hints at the language to use. Valid values are BCP 47 codes.
 func (c *FilesCopyCall) OcrLanguage(ocrLanguage string) *FilesCopyCall {
-	c.urlParams_.Set("ocrLanguage", ocrLanguage)
+	c.opt_["ocrLanguage"] = ocrLanguage
 	return c
 }
 
@@ -4600,21 +4740,21 @@
 // revision of the new copy. A file can have a maximum of 200 pinned
 // revisions.
 func (c *FilesCopyCall) Pinned(pinned bool) *FilesCopyCall {
-	c.urlParams_.Set("pinned", fmt.Sprintf("%v", pinned))
+	c.opt_["pinned"] = pinned
 	return c
 }
 
 // TimedTextLanguage sets the optional parameter "timedTextLanguage":
 // The language of the timed text.
 func (c *FilesCopyCall) TimedTextLanguage(timedTextLanguage string) *FilesCopyCall {
-	c.urlParams_.Set("timedTextLanguage", timedTextLanguage)
+	c.opt_["timedTextLanguage"] = timedTextLanguage
 	return c
 }
 
 // TimedTextTrackName sets the optional parameter "timedTextTrackName":
 // The timed text track name.
 func (c *FilesCopyCall) TimedTextTrackName(timedTextTrackName string) *FilesCopyCall {
-	c.urlParams_.Set("timedTextTrackName", timedTextTrackName)
+	c.opt_["timedTextTrackName"] = timedTextTrackName
 	return c
 }
 
@@ -4627,21 +4767,21 @@
 // by the user's default visibility/sharing policies.
 //   "PRIVATE" - The new file will be visible to only the owner.
 func (c *FilesCopyCall) Visibility(visibility string) *FilesCopyCall {
-	c.urlParams_.Set("visibility", visibility)
+	c.opt_["visibility"] = visibility
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesCopyCall) Fields(s ...googleapi.Field) *FilesCopyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesCopyCall) Context(ctx context.Context) *FilesCopyCall {
 	c.ctx_ = ctx
 	return c
@@ -4654,9 +4794,34 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["convert"]; ok {
+		params.Set("convert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocr"]; ok {
+		params.Set("ocr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocrLanguage"]; ok {
+		params.Set("ocrLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pinned"]; ok {
+		params.Set("pinned", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextLanguage"]; ok {
+		params.Set("timedTextLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextTrackName"]; ok {
+		params.Set("timedTextTrackName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["visibility"]; ok {
+		params.Set("visibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/copy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -4787,31 +4952,31 @@
 // method id "drive.files.delete":
 
 type FilesDeleteCall struct {
-	s          *Service
-	fileId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes a file by ID. Skips the trash. The
 // currently authenticated user must own the file.
 func (r *FilesService) Delete(fileId string) *FilesDeleteCall {
-	c := &FilesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesDeleteCall) Fields(s ...googleapi.Field) *FilesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesDeleteCall) Context(ctx context.Context) *FilesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4819,9 +4984,13 @@
 
 func (c *FilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -4872,28 +5041,28 @@
 // method id "drive.files.emptyTrash":
 
 type FilesEmptyTrashCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // EmptyTrash: Permanently deletes all of the user's trashed files.
 func (r *FilesService) EmptyTrash() *FilesEmptyTrashCall {
-	c := &FilesEmptyTrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesEmptyTrashCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesEmptyTrashCall) Fields(s ...googleapi.Field) *FilesEmptyTrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesEmptyTrashCall) Context(ctx context.Context) *FilesEmptyTrashCall {
 	c.ctx_ = ctx
 	return c
@@ -4901,9 +5070,13 @@
 
 func (c *FilesEmptyTrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/trash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -4939,23 +5112,22 @@
 // method id "drive.files.generateIds":
 
 type FilesGenerateIdsCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GenerateIds: Generates a set of file IDs which can be provided in
 // insert requests.
 func (r *FilesService) GenerateIds() *FilesGenerateIdsCall {
-	c := &FilesGenerateIdsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGenerateIdsCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of IDs to return.
 func (c *FilesGenerateIdsCall) MaxResults(maxResults int64) *FilesGenerateIdsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4963,15 +5135,15 @@
 // can be used to create new files. Supported values are 'drive' and
 // 'appDataFolder'.
 func (c *FilesGenerateIdsCall) Space(space string) *FilesGenerateIdsCall {
-	c.urlParams_.Set("space", space)
+	c.opt_["space"] = space
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGenerateIdsCall) Fields(s ...googleapi.Field) *FilesGenerateIdsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4981,13 +5153,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGenerateIdsCall) IfNoneMatch(entityTag string) *FilesGenerateIdsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGenerateIdsCall) Context(ctx context.Context) *FilesGenerateIdsCall {
 	c.ctx_ = ctx
 	return c
@@ -4995,14 +5167,24 @@
 
 func (c *FilesGenerateIdsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["space"]; ok {
+		params.Set("space", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/generateIds")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5082,16 +5264,15 @@
 // method id "drive.files.get":
 
 type FilesGetCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets a file's metadata by ID.
 func (r *FilesService) Get(fileId string) *FilesGetCall {
-	c := &FilesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
@@ -5100,7 +5281,7 @@
 // Whether the user is acknowledging the risk of downloading known
 // malware or other abusive files.
 func (c *FilesGetCall) AcknowledgeAbuse(acknowledgeAbuse bool) *FilesGetCall {
-	c.urlParams_.Set("acknowledgeAbuse", fmt.Sprintf("%v", acknowledgeAbuse))
+	c.opt_["acknowledgeAbuse"] = acknowledgeAbuse
 	return c
 }
 
@@ -5111,7 +5292,7 @@
 //   "BASIC" - Deprecated
 //   "FULL" - Deprecated
 func (c *FilesGetCall) Projection(projection string) *FilesGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -5119,7 +5300,7 @@
 // Revision ID that should be downloaded. Ignored unless alt=media is
 // specified.
 func (c *FilesGetCall) RevisionId(revisionId string) *FilesGetCall {
-	c.urlParams_.Set("revisionId", revisionId)
+	c.opt_["revisionId"] = revisionId
 	return c
 }
 
@@ -5127,15 +5308,15 @@
 // Deprecated: Use files.update with modifiedDateBehavior=noChange,
 // updateViewedDate=true and an empty request body.
 func (c *FilesGetCall) UpdateViewedDate(updateViewedDate bool) *FilesGetCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5145,13 +5326,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5159,16 +5340,32 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acknowledgeAbuse"]; ok {
+		params.Set("acknowledgeAbuse", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["revisionId"]; ok {
+		params.Set("revisionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5294,20 +5491,19 @@
 // method id "drive.files.insert":
 
 type FilesInsertCall struct {
-	s                *Service
-	file             *File
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	file       *File
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Insert a new file.
 func (r *FilesService) Insert(file *File) *FilesInsertCall {
-	c := &FilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.file = file
 	return c
 }
@@ -5315,21 +5511,21 @@
 // Convert sets the optional parameter "convert": Whether to convert
 // this file to the corresponding Google Docs format.
 func (c *FilesInsertCall) Convert(convert bool) *FilesInsertCall {
-	c.urlParams_.Set("convert", fmt.Sprintf("%v", convert))
+	c.opt_["convert"] = convert
 	return c
 }
 
 // Ocr sets the optional parameter "ocr": Whether to attempt OCR on
 // .jpg, .png, .gif, or .pdf uploads.
 func (c *FilesInsertCall) Ocr(ocr bool) *FilesInsertCall {
-	c.urlParams_.Set("ocr", fmt.Sprintf("%v", ocr))
+	c.opt_["ocr"] = ocr
 	return c
 }
 
 // OcrLanguage sets the optional parameter "ocrLanguage": If ocr is
 // true, hints at the language to use. Valid values are BCP 47 codes.
 func (c *FilesInsertCall) OcrLanguage(ocrLanguage string) *FilesInsertCall {
-	c.urlParams_.Set("ocrLanguage", ocrLanguage)
+	c.opt_["ocrLanguage"] = ocrLanguage
 	return c
 }
 
@@ -5337,21 +5533,21 @@
 // revision of the uploaded file. A file can have a maximum of 200
 // pinned revisions.
 func (c *FilesInsertCall) Pinned(pinned bool) *FilesInsertCall {
-	c.urlParams_.Set("pinned", fmt.Sprintf("%v", pinned))
+	c.opt_["pinned"] = pinned
 	return c
 }
 
 // TimedTextLanguage sets the optional parameter "timedTextLanguage":
 // The language of the timed text.
 func (c *FilesInsertCall) TimedTextLanguage(timedTextLanguage string) *FilesInsertCall {
-	c.urlParams_.Set("timedTextLanguage", timedTextLanguage)
+	c.opt_["timedTextLanguage"] = timedTextLanguage
 	return c
 }
 
 // TimedTextTrackName sets the optional parameter "timedTextTrackName":
 // The timed text track name.
 func (c *FilesInsertCall) TimedTextTrackName(timedTextTrackName string) *FilesInsertCall {
-	c.urlParams_.Set("timedTextTrackName", timedTextTrackName)
+	c.opt_["timedTextTrackName"] = timedTextTrackName
 	return c
 }
 
@@ -5359,7 +5555,7 @@
 // "useContentAsIndexableText": Whether to use the content as indexable
 // text.
 func (c *FilesInsertCall) UseContentAsIndexableText(useContentAsIndexableText bool) *FilesInsertCall {
-	c.urlParams_.Set("useContentAsIndexableText", fmt.Sprintf("%v", useContentAsIndexableText))
+	c.opt_["useContentAsIndexableText"] = useContentAsIndexableText
 	return c
 }
 
@@ -5371,24 +5567,24 @@
 // by the user's default visibility/sharing policies.
 //   "PRIVATE" - The new file will be visible to only the owner.
 func (c *FilesInsertCall) Visibility(visibility string) *FilesInsertCall {
-	c.urlParams_.Set("visibility", visibility)
+	c.opt_["visibility"] = visibility
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *FilesInsertCall) Media(r io.Reader) *FilesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *FilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -5397,28 +5593,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *FilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesInsertCall) Fields(s ...googleapi.Field) *FilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *FilesInsertCall) Context(ctx context.Context) *FilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5431,13 +5626,41 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["convert"]; ok {
+		params.Set("convert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocr"]; ok {
+		params.Set("ocr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocrLanguage"]; ok {
+		params.Set("ocrLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pinned"]; ok {
+		params.Set("pinned", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextLanguage"]; ok {
+		params.Set("timedTextLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextTrackName"]; ok {
+		params.Set("timedTextTrackName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useContentAsIndexableText"]; ok {
+		params.Set("useContentAsIndexableText", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["visibility"]; ok {
+		params.Set("visibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -5488,6 +5711,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -5497,7 +5726,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -5612,15 +5841,14 @@
 // method id "drive.files.list":
 
 type FilesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the user's files.
 func (r *FilesService) List() *FilesListCall {
-	c := &FilesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -5631,14 +5859,14 @@
 //   "DEFAULT" - The items that the user has accessed.
 //   "DOMAIN" - Items shared to the user's domain.
 func (c *FilesListCall) Corpus(corpus string) *FilesListCall {
-	c.urlParams_.Set("corpus", corpus)
+	c.opt_["corpus"] = corpus
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of files to return.
 func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5652,14 +5880,14 @@
 // with approximately one million files in which the requested sort
 // order is ignored.
 func (c *FilesListCall) OrderBy(orderBy string) *FilesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token for
 // files.
 func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -5670,13 +5898,13 @@
 //   "BASIC" - Deprecated
 //   "FULL" - Deprecated
 func (c *FilesListCall) Projection(projection string) *FilesListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // Q sets the optional parameter "q": Query string for searching files.
 func (c *FilesListCall) Q(q string) *FilesListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
@@ -5684,15 +5912,15 @@
 // of spaces to query. Supported values are 'drive', 'appDataFolder' and
 // 'photos'.
 func (c *FilesListCall) Spaces(spaces string) *FilesListCall {
-	c.urlParams_.Set("spaces", spaces)
+	c.opt_["spaces"] = spaces
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5702,13 +5930,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5716,14 +5944,39 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["corpus"]; ok {
+		params.Set("corpus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["spaces"]; ok {
+		params.Set("spaces", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5847,17 +6100,17 @@
 // method id "drive.files.patch":
 
 type FilesPatchCall struct {
-	s          *Service
-	fileId     string
-	file       *File
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	fileId string
+	file   *File
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Updates file metadata and/or content. This method supports
 // patch semantics.
 func (r *FilesService) Patch(fileId string, file *File) *FilesPatchCall {
-	c := &FilesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.file = file
 	return c
@@ -5866,14 +6119,14 @@
 // AddParents sets the optional parameter "addParents": Comma-separated
 // list of parent IDs to add.
 func (c *FilesPatchCall) AddParents(addParents string) *FilesPatchCall {
-	c.urlParams_.Set("addParents", addParents)
+	c.opt_["addParents"] = addParents
 	return c
 }
 
 // Convert sets the optional parameter "convert": This parameter is
 // deprecated and has no function.
 func (c *FilesPatchCall) Convert(convert bool) *FilesPatchCall {
-	c.urlParams_.Set("convert", fmt.Sprintf("%v", convert))
+	c.opt_["convert"] = convert
 	return c
 }
 
@@ -5893,7 +6146,7 @@
 //   "nowIfNeeded" - Set modifiedDate to the current time depending on
 // contents of the update.
 func (c *FilesPatchCall) ModifiedDateBehavior(modifiedDateBehavior string) *FilesPatchCall {
-	c.urlParams_.Set("modifiedDateBehavior", modifiedDateBehavior)
+	c.opt_["modifiedDateBehavior"] = modifiedDateBehavior
 	return c
 }
 
@@ -5906,63 +6159,63 @@
 // revisions. For details on how revisions are retained, see the Drive
 // Help Center.
 func (c *FilesPatchCall) NewRevision(newRevision bool) *FilesPatchCall {
-	c.urlParams_.Set("newRevision", fmt.Sprintf("%v", newRevision))
+	c.opt_["newRevision"] = newRevision
 	return c
 }
 
 // Ocr sets the optional parameter "ocr": Whether to attempt OCR on
 // .jpg, .png, .gif, or .pdf uploads.
 func (c *FilesPatchCall) Ocr(ocr bool) *FilesPatchCall {
-	c.urlParams_.Set("ocr", fmt.Sprintf("%v", ocr))
+	c.opt_["ocr"] = ocr
 	return c
 }
 
 // OcrLanguage sets the optional parameter "ocrLanguage": If ocr is
 // true, hints at the language to use. Valid values are BCP 47 codes.
 func (c *FilesPatchCall) OcrLanguage(ocrLanguage string) *FilesPatchCall {
-	c.urlParams_.Set("ocrLanguage", ocrLanguage)
+	c.opt_["ocrLanguage"] = ocrLanguage
 	return c
 }
 
 // Pinned sets the optional parameter "pinned": Whether to pin the new
 // revision. A file can have a maximum of 200 pinned revisions.
 func (c *FilesPatchCall) Pinned(pinned bool) *FilesPatchCall {
-	c.urlParams_.Set("pinned", fmt.Sprintf("%v", pinned))
+	c.opt_["pinned"] = pinned
 	return c
 }
 
 // RemoveParents sets the optional parameter "removeParents":
 // Comma-separated list of parent IDs to remove.
 func (c *FilesPatchCall) RemoveParents(removeParents string) *FilesPatchCall {
-	c.urlParams_.Set("removeParents", removeParents)
+	c.opt_["removeParents"] = removeParents
 	return c
 }
 
 // SetModifiedDate sets the optional parameter "setModifiedDate":
 // Whether to set the modified date with the supplied modified date.
 func (c *FilesPatchCall) SetModifiedDate(setModifiedDate bool) *FilesPatchCall {
-	c.urlParams_.Set("setModifiedDate", fmt.Sprintf("%v", setModifiedDate))
+	c.opt_["setModifiedDate"] = setModifiedDate
 	return c
 }
 
 // TimedTextLanguage sets the optional parameter "timedTextLanguage":
 // The language of the timed text.
 func (c *FilesPatchCall) TimedTextLanguage(timedTextLanguage string) *FilesPatchCall {
-	c.urlParams_.Set("timedTextLanguage", timedTextLanguage)
+	c.opt_["timedTextLanguage"] = timedTextLanguage
 	return c
 }
 
 // TimedTextTrackName sets the optional parameter "timedTextTrackName":
 // The timed text track name.
 func (c *FilesPatchCall) TimedTextTrackName(timedTextTrackName string) *FilesPatchCall {
-	c.urlParams_.Set("timedTextTrackName", timedTextTrackName)
+	c.opt_["timedTextTrackName"] = timedTextTrackName
 	return c
 }
 
 // UpdateViewedDate sets the optional parameter "updateViewedDate":
 // Whether to update the view date after successfully updating the file.
 func (c *FilesPatchCall) UpdateViewedDate(updateViewedDate bool) *FilesPatchCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
@@ -5970,21 +6223,21 @@
 // "useContentAsIndexableText": Whether to use the content as indexable
 // text.
 func (c *FilesPatchCall) UseContentAsIndexableText(useContentAsIndexableText bool) *FilesPatchCall {
-	c.urlParams_.Set("useContentAsIndexableText", fmt.Sprintf("%v", useContentAsIndexableText))
+	c.opt_["useContentAsIndexableText"] = useContentAsIndexableText
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesPatchCall) Fields(s ...googleapi.Field) *FilesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesPatchCall) Context(ctx context.Context) *FilesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5997,9 +6250,52 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["addParents"]; ok {
+		params.Set("addParents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["convert"]; ok {
+		params.Set("convert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedDateBehavior"]; ok {
+		params.Set("modifiedDateBehavior", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["newRevision"]; ok {
+		params.Set("newRevision", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocr"]; ok {
+		params.Set("ocr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocrLanguage"]; ok {
+		params.Set("ocrLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pinned"]; ok {
+		params.Set("pinned", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["removeParents"]; ok {
+		params.Set("removeParents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["setModifiedDate"]; ok {
+		params.Set("setModifiedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextLanguage"]; ok {
+		params.Set("timedTextLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextTrackName"]; ok {
+		params.Set("timedTextTrackName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useContentAsIndexableText"]; ok {
+		params.Set("useContentAsIndexableText", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -6172,30 +6468,30 @@
 // method id "drive.files.touch":
 
 type FilesTouchCall struct {
-	s          *Service
-	fileId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Touch: Set the file's updated time to the current server time.
 func (r *FilesService) Touch(fileId string) *FilesTouchCall {
-	c := &FilesTouchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesTouchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesTouchCall) Fields(s ...googleapi.Field) *FilesTouchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesTouchCall) Context(ctx context.Context) *FilesTouchCall {
 	c.ctx_ = ctx
 	return c
@@ -6203,9 +6499,13 @@
 
 func (c *FilesTouchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/touch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -6285,31 +6585,31 @@
 // method id "drive.files.trash":
 
 type FilesTrashCall struct {
-	s          *Service
-	fileId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Trash: Moves a file to the trash. The currently authenticated user
 // must own the file.
 func (r *FilesService) Trash(fileId string) *FilesTrashCall {
-	c := &FilesTrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesTrashCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesTrashCall) Fields(s ...googleapi.Field) *FilesTrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesTrashCall) Context(ctx context.Context) *FilesTrashCall {
 	c.ctx_ = ctx
 	return c
@@ -6317,9 +6617,13 @@
 
 func (c *FilesTrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/trash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -6398,30 +6702,30 @@
 // method id "drive.files.untrash":
 
 type FilesUntrashCall struct {
-	s          *Service
-	fileId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Untrash: Restores a file from the trash.
 func (r *FilesService) Untrash(fileId string) *FilesUntrashCall {
-	c := &FilesUntrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesUntrashCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesUntrashCall) Fields(s ...googleapi.Field) *FilesUntrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesUntrashCall) Context(ctx context.Context) *FilesUntrashCall {
 	c.ctx_ = ctx
 	return c
@@ -6429,9 +6733,13 @@
 
 func (c *FilesUntrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/untrash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -6510,21 +6818,20 @@
 // method id "drive.files.update":
 
 type FilesUpdateCall struct {
-	s                *Service
-	fileId           string
-	file             *File
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	fileId     string
+	file       *File
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Update: Updates file metadata and/or content.
 func (r *FilesService) Update(fileId string, file *File) *FilesUpdateCall {
-	c := &FilesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.file = file
 	return c
@@ -6533,14 +6840,14 @@
 // AddParents sets the optional parameter "addParents": Comma-separated
 // list of parent IDs to add.
 func (c *FilesUpdateCall) AddParents(addParents string) *FilesUpdateCall {
-	c.urlParams_.Set("addParents", addParents)
+	c.opt_["addParents"] = addParents
 	return c
 }
 
 // Convert sets the optional parameter "convert": This parameter is
 // deprecated and has no function.
 func (c *FilesUpdateCall) Convert(convert bool) *FilesUpdateCall {
-	c.urlParams_.Set("convert", fmt.Sprintf("%v", convert))
+	c.opt_["convert"] = convert
 	return c
 }
 
@@ -6560,7 +6867,7 @@
 //   "nowIfNeeded" - Set modifiedDate to the current time depending on
 // contents of the update.
 func (c *FilesUpdateCall) ModifiedDateBehavior(modifiedDateBehavior string) *FilesUpdateCall {
-	c.urlParams_.Set("modifiedDateBehavior", modifiedDateBehavior)
+	c.opt_["modifiedDateBehavior"] = modifiedDateBehavior
 	return c
 }
 
@@ -6573,63 +6880,63 @@
 // revisions. For details on how revisions are retained, see the Drive
 // Help Center.
 func (c *FilesUpdateCall) NewRevision(newRevision bool) *FilesUpdateCall {
-	c.urlParams_.Set("newRevision", fmt.Sprintf("%v", newRevision))
+	c.opt_["newRevision"] = newRevision
 	return c
 }
 
 // Ocr sets the optional parameter "ocr": Whether to attempt OCR on
 // .jpg, .png, .gif, or .pdf uploads.
 func (c *FilesUpdateCall) Ocr(ocr bool) *FilesUpdateCall {
-	c.urlParams_.Set("ocr", fmt.Sprintf("%v", ocr))
+	c.opt_["ocr"] = ocr
 	return c
 }
 
 // OcrLanguage sets the optional parameter "ocrLanguage": If ocr is
 // true, hints at the language to use. Valid values are BCP 47 codes.
 func (c *FilesUpdateCall) OcrLanguage(ocrLanguage string) *FilesUpdateCall {
-	c.urlParams_.Set("ocrLanguage", ocrLanguage)
+	c.opt_["ocrLanguage"] = ocrLanguage
 	return c
 }
 
 // Pinned sets the optional parameter "pinned": Whether to pin the new
 // revision. A file can have a maximum of 200 pinned revisions.
 func (c *FilesUpdateCall) Pinned(pinned bool) *FilesUpdateCall {
-	c.urlParams_.Set("pinned", fmt.Sprintf("%v", pinned))
+	c.opt_["pinned"] = pinned
 	return c
 }
 
 // RemoveParents sets the optional parameter "removeParents":
 // Comma-separated list of parent IDs to remove.
 func (c *FilesUpdateCall) RemoveParents(removeParents string) *FilesUpdateCall {
-	c.urlParams_.Set("removeParents", removeParents)
+	c.opt_["removeParents"] = removeParents
 	return c
 }
 
 // SetModifiedDate sets the optional parameter "setModifiedDate":
 // Whether to set the modified date with the supplied modified date.
 func (c *FilesUpdateCall) SetModifiedDate(setModifiedDate bool) *FilesUpdateCall {
-	c.urlParams_.Set("setModifiedDate", fmt.Sprintf("%v", setModifiedDate))
+	c.opt_["setModifiedDate"] = setModifiedDate
 	return c
 }
 
 // TimedTextLanguage sets the optional parameter "timedTextLanguage":
 // The language of the timed text.
 func (c *FilesUpdateCall) TimedTextLanguage(timedTextLanguage string) *FilesUpdateCall {
-	c.urlParams_.Set("timedTextLanguage", timedTextLanguage)
+	c.opt_["timedTextLanguage"] = timedTextLanguage
 	return c
 }
 
 // TimedTextTrackName sets the optional parameter "timedTextTrackName":
 // The timed text track name.
 func (c *FilesUpdateCall) TimedTextTrackName(timedTextTrackName string) *FilesUpdateCall {
-	c.urlParams_.Set("timedTextTrackName", timedTextTrackName)
+	c.opt_["timedTextTrackName"] = timedTextTrackName
 	return c
 }
 
 // UpdateViewedDate sets the optional parameter "updateViewedDate":
 // Whether to update the view date after successfully updating the file.
 func (c *FilesUpdateCall) UpdateViewedDate(updateViewedDate bool) *FilesUpdateCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
@@ -6637,24 +6944,24 @@
 // "useContentAsIndexableText": Whether to use the content as indexable
 // text.
 func (c *FilesUpdateCall) UseContentAsIndexableText(useContentAsIndexableText bool) *FilesUpdateCall {
-	c.urlParams_.Set("useContentAsIndexableText", fmt.Sprintf("%v", useContentAsIndexableText))
+	c.opt_["useContentAsIndexableText"] = useContentAsIndexableText
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *FilesUpdateCall) Media(r io.Reader) *FilesUpdateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *FilesUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesUpdateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -6663,28 +6970,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *FilesUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesUpdateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesUpdateCall) Fields(s ...googleapi.Field) *FilesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *FilesUpdateCall) Context(ctx context.Context) *FilesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6697,13 +7003,56 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["addParents"]; ok {
+		params.Set("addParents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["convert"]; ok {
+		params.Set("convert", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedDateBehavior"]; ok {
+		params.Set("modifiedDateBehavior", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["newRevision"]; ok {
+		params.Set("newRevision", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocr"]; ok {
+		params.Set("ocr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ocrLanguage"]; ok {
+		params.Set("ocrLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pinned"]; ok {
+		params.Set("pinned", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["removeParents"]; ok {
+		params.Set("removeParents", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["setModifiedDate"]; ok {
+		params.Set("setModifiedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextLanguage"]; ok {
+		params.Set("timedTextLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["timedTextTrackName"]; ok {
+		params.Set("timedTextTrackName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["useContentAsIndexableText"]; ok {
+		params.Set("useContentAsIndexableText", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -6756,6 +7105,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -6765,7 +7120,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -6925,16 +7280,16 @@
 // method id "drive.files.watch":
 
 type FilesWatchCall struct {
-	s          *Service
-	fileId     string
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	fileId  string
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Watch: Subscribe to changes on a file
 func (r *FilesService) Watch(fileId string, channel *Channel) *FilesWatchCall {
-	c := &FilesWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FilesWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.channel = channel
 	return c
@@ -6944,7 +7299,7 @@
 // Whether the user is acknowledging the risk of downloading known
 // malware or other abusive files.
 func (c *FilesWatchCall) AcknowledgeAbuse(acknowledgeAbuse bool) *FilesWatchCall {
-	c.urlParams_.Set("acknowledgeAbuse", fmt.Sprintf("%v", acknowledgeAbuse))
+	c.opt_["acknowledgeAbuse"] = acknowledgeAbuse
 	return c
 }
 
@@ -6955,7 +7310,7 @@
 //   "BASIC" - Deprecated
 //   "FULL" - Deprecated
 func (c *FilesWatchCall) Projection(projection string) *FilesWatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -6963,7 +7318,7 @@
 // Revision ID that should be downloaded. Ignored unless alt=media is
 // specified.
 func (c *FilesWatchCall) RevisionId(revisionId string) *FilesWatchCall {
-	c.urlParams_.Set("revisionId", revisionId)
+	c.opt_["revisionId"] = revisionId
 	return c
 }
 
@@ -6971,21 +7326,21 @@
 // Deprecated: Use files.update with modifiedDateBehavior=noChange,
 // updateViewedDate=true and an empty request body.
 func (c *FilesWatchCall) UpdateViewedDate(updateViewedDate bool) *FilesWatchCall {
-	c.urlParams_.Set("updateViewedDate", fmt.Sprintf("%v", updateViewedDate))
+	c.opt_["updateViewedDate"] = updateViewedDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FilesWatchCall) Fields(s ...googleapi.Field) *FilesWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FilesWatchCall) Context(ctx context.Context) *FilesWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6998,9 +7353,25 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["acknowledgeAbuse"]; ok {
+		params.Set("acknowledgeAbuse", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["revisionId"]; ok {
+		params.Set("revisionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updateViewedDate"]; ok {
+		params.Set("updateViewedDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -7135,32 +7506,32 @@
 // method id "drive.parents.delete":
 
 type ParentsDeleteCall struct {
-	s          *Service
-	fileId     string
-	parentId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	fileId   string
+	parentId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Removes a parent from a file.
 func (r *ParentsService) Delete(fileId string, parentId string) *ParentsDeleteCall {
-	c := &ParentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ParentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.parentId = parentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ParentsDeleteCall) Fields(s ...googleapi.Field) *ParentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ParentsDeleteCall) Context(ctx context.Context) *ParentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7168,9 +7539,13 @@
 
 func (c *ParentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/parents/{parentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":   c.fileId,
@@ -7228,27 +7603,26 @@
 // method id "drive.parents.get":
 
 type ParentsGetCall struct {
-	s            *Service
-	fileId       string
-	parentId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	fileId   string
+	parentId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Gets a specific parent reference.
 func (r *ParentsService) Get(fileId string, parentId string) *ParentsGetCall {
-	c := &ParentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ParentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.parentId = parentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ParentsGetCall) Fields(s ...googleapi.Field) *ParentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7258,13 +7632,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ParentsGetCall) IfNoneMatch(entityTag string) *ParentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ParentsGetCall) Context(ctx context.Context) *ParentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7272,17 +7646,21 @@
 
 func (c *ParentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/parents/{parentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":   c.fileId,
 		"parentId": c.parentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7370,29 +7748,29 @@
 	s               *Service
 	fileId          string
 	parentreference *ParentReference
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Insert: Adds a parent folder for a file.
 func (r *ParentsService) Insert(fileId string, parentreference *ParentReference) *ParentsInsertCall {
-	c := &ParentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ParentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.parentreference = parentreference
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ParentsInsertCall) Fields(s ...googleapi.Field) *ParentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ParentsInsertCall) Context(ctx context.Context) *ParentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7405,9 +7783,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -7489,25 +7871,24 @@
 // method id "drive.parents.list":
 
 type ParentsListCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists a file's parents.
 func (r *ParentsService) List(fileId string) *ParentsListCall {
-	c := &ParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ParentsListCall) Fields(s ...googleapi.Field) *ParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7517,13 +7898,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ParentsListCall) IfNoneMatch(entityTag string) *ParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ParentsListCall) Context(ctx context.Context) *ParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7531,16 +7912,20 @@
 
 func (c *ParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7621,29 +8006,29 @@
 	s            *Service
 	fileId       string
 	permissionId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes a permission from a file.
 func (r *PermissionsService) Delete(fileId string, permissionId string) *PermissionsDeleteCall {
-	c := &PermissionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.permissionId = permissionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsDeleteCall) Fields(s ...googleapi.Field) *PermissionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsDeleteCall) Context(ctx context.Context) *PermissionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7651,9 +8036,13 @@
 
 func (c *PermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":       c.fileId,
@@ -7714,24 +8103,23 @@
 	s            *Service
 	fileId       string
 	permissionId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets a permission by ID.
 func (r *PermissionsService) Get(fileId string, permissionId string) *PermissionsGetCall {
-	c := &PermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.permissionId = permissionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsGetCall) Fields(s ...googleapi.Field) *PermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7741,13 +8129,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PermissionsGetCall) IfNoneMatch(entityTag string) *PermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsGetCall) Context(ctx context.Context) *PermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7755,17 +8143,21 @@
 
 func (c *PermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":       c.fileId,
 		"permissionId": c.permissionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7849,25 +8241,24 @@
 // method id "drive.permissions.getIdForEmail":
 
 type PermissionsGetIdForEmailCall struct {
-	s            *Service
-	email        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	email string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // GetIdForEmail: Returns the permission ID for an email address.
 func (r *PermissionsService) GetIdForEmail(email string) *PermissionsGetIdForEmailCall {
-	c := &PermissionsGetIdForEmailCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsGetIdForEmailCall{s: r.s, opt_: make(map[string]interface{})}
 	c.email = email
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsGetIdForEmailCall) Fields(s ...googleapi.Field) *PermissionsGetIdForEmailCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7877,13 +8268,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PermissionsGetIdForEmailCall) IfNoneMatch(entityTag string) *PermissionsGetIdForEmailCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsGetIdForEmailCall) Context(ctx context.Context) *PermissionsGetIdForEmailCall {
 	c.ctx_ = ctx
 	return c
@@ -7891,16 +8282,20 @@
 
 func (c *PermissionsGetIdForEmailCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "permissionIds/{email}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"email": c.email,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7982,13 +8377,13 @@
 	s          *Service
 	fileId     string
 	permission *Permission
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Inserts a permission for a file.
 func (r *PermissionsService) Insert(fileId string, permission *Permission) *PermissionsInsertCall {
-	c := &PermissionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.permission = permission
 	return c
@@ -7997,7 +8392,7 @@
 // EmailMessage sets the optional parameter "emailMessage": A custom
 // message to include in notification emails.
 func (c *PermissionsInsertCall) EmailMessage(emailMessage string) *PermissionsInsertCall {
-	c.urlParams_.Set("emailMessage", emailMessage)
+	c.opt_["emailMessage"] = emailMessage
 	return c
 }
 
@@ -8006,21 +8401,21 @@
 // sharing to users or groups. This parameter is ignored and an email is
 // sent if the role is owner.
 func (c *PermissionsInsertCall) SendNotificationEmails(sendNotificationEmails bool) *PermissionsInsertCall {
-	c.urlParams_.Set("sendNotificationEmails", fmt.Sprintf("%v", sendNotificationEmails))
+	c.opt_["sendNotificationEmails"] = sendNotificationEmails
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsInsertCall) Fields(s ...googleapi.Field) *PermissionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsInsertCall) Context(ctx context.Context) *PermissionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8033,9 +8428,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["emailMessage"]; ok {
+		params.Set("emailMessage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sendNotificationEmails"]; ok {
+		params.Set("sendNotificationEmails", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -8127,25 +8532,24 @@
 // method id "drive.permissions.list":
 
 type PermissionsListCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists a file's permissions.
 func (r *PermissionsService) List(fileId string) *PermissionsListCall {
-	c := &PermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsListCall) Fields(s ...googleapi.Field) *PermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8155,13 +8559,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PermissionsListCall) IfNoneMatch(entityTag string) *PermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsListCall) Context(ctx context.Context) *PermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8169,16 +8573,20 @@
 
 func (c *PermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8259,13 +8667,13 @@
 	fileId       string
 	permissionId string
 	permission   *Permission
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates a permission using patch semantics.
 func (r *PermissionsService) Patch(fileId string, permissionId string, permission *Permission) *PermissionsPatchCall {
-	c := &PermissionsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.permissionId = permissionId
 	c.permission = permission
@@ -8276,21 +8684,21 @@
 // Whether changing a role to 'owner' downgrades the current owners to
 // writers. Does nothing if the specified role is not 'owner'.
 func (c *PermissionsPatchCall) TransferOwnership(transferOwnership bool) *PermissionsPatchCall {
-	c.urlParams_.Set("transferOwnership", fmt.Sprintf("%v", transferOwnership))
+	c.opt_["transferOwnership"] = transferOwnership
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsPatchCall) Fields(s ...googleapi.Field) *PermissionsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsPatchCall) Context(ctx context.Context) *PermissionsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8303,9 +8711,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["transferOwnership"]; ok {
+		params.Set("transferOwnership", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":       c.fileId,
@@ -8404,13 +8819,13 @@
 	fileId       string
 	permissionId string
 	permission   *Permission
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates a permission.
 func (r *PermissionsService) Update(fileId string, permissionId string, permission *Permission) *PermissionsUpdateCall {
-	c := &PermissionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PermissionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.permissionId = permissionId
 	c.permission = permission
@@ -8421,21 +8836,21 @@
 // Whether changing a role to 'owner' downgrades the current owners to
 // writers. Does nothing if the specified role is not 'owner'.
 func (c *PermissionsUpdateCall) TransferOwnership(transferOwnership bool) *PermissionsUpdateCall {
-	c.urlParams_.Set("transferOwnership", fmt.Sprintf("%v", transferOwnership))
+	c.opt_["transferOwnership"] = transferOwnership
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PermissionsUpdateCall) Fields(s ...googleapi.Field) *PermissionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PermissionsUpdateCall) Context(ctx context.Context) *PermissionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -8448,9 +8863,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["transferOwnership"]; ok {
+		params.Set("transferOwnership", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":       c.fileId,
@@ -8548,13 +8970,13 @@
 	s           *Service
 	fileId      string
 	propertyKey string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a property.
 func (r *PropertiesService) Delete(fileId string, propertyKey string) *PropertiesDeleteCall {
-	c := &PropertiesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PropertiesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.propertyKey = propertyKey
 	return c
@@ -8563,21 +8985,21 @@
 // Visibility sets the optional parameter "visibility": The visibility
 // of the property.
 func (c *PropertiesDeleteCall) Visibility(visibility string) *PropertiesDeleteCall {
-	c.urlParams_.Set("visibility", visibility)
+	c.opt_["visibility"] = visibility
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PropertiesDeleteCall) Fields(s ...googleapi.Field) *PropertiesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PropertiesDeleteCall) Context(ctx context.Context) *PropertiesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8585,9 +9007,16 @@
 
 func (c *PropertiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["visibility"]; ok {
+		params.Set("visibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/properties/{propertyKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":      c.fileId,
@@ -8653,17 +9082,16 @@
 // method id "drive.properties.get":
 
 type PropertiesGetCall struct {
-	s            *Service
-	fileId       string
-	propertyKey  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	fileId      string
+	propertyKey string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a property by its key.
 func (r *PropertiesService) Get(fileId string, propertyKey string) *PropertiesGetCall {
-	c := &PropertiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PropertiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.propertyKey = propertyKey
 	return c
@@ -8672,15 +9100,15 @@
 // Visibility sets the optional parameter "visibility": The visibility
 // of the property.
 func (c *PropertiesGetCall) Visibility(visibility string) *PropertiesGetCall {
-	c.urlParams_.Set("visibility", visibility)
+	c.opt_["visibility"] = visibility
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PropertiesGetCall) Fields(s ...googleapi.Field) *PropertiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8690,13 +9118,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PropertiesGetCall) IfNoneMatch(entityTag string) *PropertiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PropertiesGetCall) Context(ctx context.Context) *PropertiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8704,17 +9132,24 @@
 
 func (c *PropertiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["visibility"]; ok {
+		params.Set("visibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/properties/{propertyKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":      c.fileId,
 		"propertyKey": c.propertyKey,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8805,32 +9240,32 @@
 // method id "drive.properties.insert":
 
 type PropertiesInsertCall struct {
-	s          *Service
-	fileId     string
-	property   *Property
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	fileId   string
+	property *Property
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Adds a property to a file.
 func (r *PropertiesService) Insert(fileId string, property *Property) *PropertiesInsertCall {
-	c := &PropertiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PropertiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.property = property
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PropertiesInsertCall) Fields(s ...googleapi.Field) *PropertiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PropertiesInsertCall) Context(ctx context.Context) *PropertiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8843,9 +9278,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/properties")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
@@ -8928,25 +9367,24 @@
 // method id "drive.properties.list":
 
 type PropertiesListCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists a file's properties.
 func (r *PropertiesService) List(fileId string) *PropertiesListCall {
-	c := &PropertiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PropertiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PropertiesListCall) Fields(s ...googleapi.Field) *PropertiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8956,13 +9394,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PropertiesListCall) IfNoneMatch(entityTag string) *PropertiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PropertiesListCall) Context(ctx context.Context) *PropertiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -8970,16 +9408,20 @@
 
 func (c *PropertiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/properties")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9061,13 +9503,13 @@
 	fileId      string
 	propertyKey string
 	property    *Property
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Patch: Updates a property. This method supports patch semantics.
 func (r *PropertiesService) Patch(fileId string, propertyKey string, property *Property) *PropertiesPatchCall {
-	c := &PropertiesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PropertiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.propertyKey = propertyKey
 	c.property = property
@@ -9077,21 +9519,21 @@
 // Visibility sets the optional parameter "visibility": The visibility
 // of the property.
 func (c *PropertiesPatchCall) Visibility(visibility string) *PropertiesPatchCall {
-	c.urlParams_.Set("visibility", visibility)
+	c.opt_["visibility"] = visibility
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PropertiesPatchCall) Fields(s ...googleapi.Field) *PropertiesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PropertiesPatchCall) Context(ctx context.Context) *PropertiesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9104,9 +9546,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["visibility"]; ok {
+		params.Set("visibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/properties/{propertyKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":      c.fileId,
@@ -9207,13 +9656,13 @@
 	fileId      string
 	propertyKey string
 	property    *Property
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a property.
 func (r *PropertiesService) Update(fileId string, propertyKey string, property *Property) *PropertiesUpdateCall {
-	c := &PropertiesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PropertiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.propertyKey = propertyKey
 	c.property = property
@@ -9223,21 +9672,21 @@
 // Visibility sets the optional parameter "visibility": The visibility
 // of the property.
 func (c *PropertiesUpdateCall) Visibility(visibility string) *PropertiesUpdateCall {
-	c.urlParams_.Set("visibility", visibility)
+	c.opt_["visibility"] = visibility
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PropertiesUpdateCall) Fields(s ...googleapi.Field) *PropertiesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PropertiesUpdateCall) Context(ctx context.Context) *PropertiesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9250,9 +9699,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["visibility"]; ok {
+		params.Set("visibility", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/properties/{propertyKey}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":      c.fileId,
@@ -9349,17 +9805,16 @@
 // method id "drive.realtime.get":
 
 type RealtimeGetCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Exports the contents of the Realtime API data model associated
 // with this file as JSON.
 func (r *RealtimeService) Get(fileId string) *RealtimeGetCall {
-	c := &RealtimeGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RealtimeGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
@@ -9369,15 +9824,15 @@
 // empty data model) and are incremented with each change. If this
 // parameter is excluded, the most recent data model will be returned.
 func (c *RealtimeGetCall) Revision(revision int64) *RealtimeGetCall {
-	c.urlParams_.Set("revision", fmt.Sprintf("%v", revision))
+	c.opt_["revision"] = revision
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RealtimeGetCall) Fields(s ...googleapi.Field) *RealtimeGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9387,13 +9842,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RealtimeGetCall) IfNoneMatch(entityTag string) *RealtimeGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RealtimeGetCall) Context(ctx context.Context) *RealtimeGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9401,16 +9856,23 @@
 
 func (c *RealtimeGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["revision"]; ok {
+		params.Set("revision", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/realtime")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9480,21 +9942,20 @@
 // method id "drive.realtime.update":
 
 type RealtimeUpdateCall struct {
-	s                *Service
-	fileId           string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	fileId     string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Update: Overwrites the Realtime API data model associated with this
 // file with the provided JSON data model.
 func (r *RealtimeService) Update(fileId string) *RealtimeUpdateCall {
-	c := &RealtimeUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RealtimeUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
@@ -9506,24 +9967,24 @@
 // revision. If not set, the uploaded model replaces the current model
 // on the server.
 func (c *RealtimeUpdateCall) BaseRevision(baseRevision string) *RealtimeUpdateCall {
-	c.urlParams_.Set("baseRevision", baseRevision)
+	c.opt_["baseRevision"] = baseRevision
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *RealtimeUpdateCall) Media(r io.Reader) *RealtimeUpdateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *RealtimeUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *RealtimeUpdateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -9532,28 +9993,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *RealtimeUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *RealtimeUpdateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RealtimeUpdateCall) Fields(s ...googleapi.Field) *RealtimeUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *RealtimeUpdateCall) Context(ctx context.Context) *RealtimeUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9561,13 +10021,20 @@
 
 func (c *RealtimeUpdateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["baseRevision"]; ok {
+		params.Set("baseRevision", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/realtime")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -9607,6 +10074,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -9616,7 +10089,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -9674,34 +10147,34 @@
 // method id "drive.replies.delete":
 
 type RepliesDeleteCall struct {
-	s          *Service
-	fileId     string
-	commentId  string
-	replyId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	replyId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a reply.
 func (r *RepliesService) Delete(fileId string, commentId string, replyId string) *RepliesDeleteCall {
-	c := &RepliesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepliesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.replyId = replyId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepliesDeleteCall) Fields(s ...googleapi.Field) *RepliesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepliesDeleteCall) Context(ctx context.Context) *RepliesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9709,9 +10182,13 @@
 
 func (c *RepliesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}/replies/{replyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -9777,18 +10254,17 @@
 // method id "drive.replies.get":
 
 type RepliesGetCall struct {
-	s            *Service
-	fileId       string
-	commentId    string
-	replyId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	replyId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a reply.
 func (r *RepliesService) Get(fileId string, commentId string, replyId string) *RepliesGetCall {
-	c := &RepliesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepliesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.replyId = replyId
@@ -9798,15 +10274,15 @@
 // IncludeDeleted sets the optional parameter "includeDeleted": If set,
 // this will succeed when retrieving a deleted reply.
 func (c *RepliesGetCall) IncludeDeleted(includeDeleted bool) *RepliesGetCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepliesGetCall) Fields(s ...googleapi.Field) *RepliesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9816,13 +10292,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RepliesGetCall) IfNoneMatch(entityTag string) *RepliesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepliesGetCall) Context(ctx context.Context) *RepliesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9830,9 +10306,16 @@
 
 func (c *RepliesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}/replies/{replyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -9840,8 +10323,8 @@
 		"replyId":   c.replyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9939,30 +10422,30 @@
 	fileId       string
 	commentId    string
 	commentreply *CommentReply
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Creates a new reply to the given comment.
 func (r *RepliesService) Insert(fileId string, commentId string, commentreply *CommentReply) *RepliesInsertCall {
-	c := &RepliesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepliesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.commentreply = commentreply
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepliesInsertCall) Fields(s ...googleapi.Field) *RepliesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepliesInsertCall) Context(ctx context.Context) *RepliesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9975,9 +10458,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}/replies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -10066,17 +10553,16 @@
 // method id "drive.replies.list":
 
 type RepliesListCall struct {
-	s            *Service
-	fileId       string
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	fileId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all of the replies to a comment.
 func (r *RepliesService) List(fileId string, commentId string) *RepliesListCall {
-	c := &RepliesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepliesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	return c
@@ -10086,14 +10572,14 @@
 // all replies, including deleted replies (with content stripped) will
 // be returned.
 func (c *RepliesListCall) IncludeDeleted(includeDeleted bool) *RepliesListCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of replies to include in the response, used for paging.
 func (c *RepliesListCall) MaxResults(maxResults int64) *RepliesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10102,15 +10588,15 @@
 // of results, set this parameter to the value of "nextPageToken" from
 // the previous response.
 func (c *RepliesListCall) PageToken(pageToken string) *RepliesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepliesListCall) Fields(s ...googleapi.Field) *RepliesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10120,13 +10606,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RepliesListCall) IfNoneMatch(entityTag string) *RepliesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepliesListCall) Context(ctx context.Context) *RepliesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10134,17 +10620,30 @@
 
 func (c *RepliesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}/replies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10250,14 +10749,14 @@
 	commentId    string
 	replyId      string
 	commentreply *CommentReply
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates an existing reply. This method supports patch
 // semantics.
 func (r *RepliesService) Patch(fileId string, commentId string, replyId string, commentreply *CommentReply) *RepliesPatchCall {
-	c := &RepliesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepliesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.replyId = replyId
@@ -10265,17 +10764,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepliesPatchCall) Fields(s ...googleapi.Field) *RepliesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepliesPatchCall) Context(ctx context.Context) *RepliesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10288,9 +10787,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}/replies/{replyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -10392,13 +10895,13 @@
 	commentId    string
 	replyId      string
 	commentreply *CommentReply
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates an existing reply.
 func (r *RepliesService) Update(fileId string, commentId string, replyId string, commentreply *CommentReply) *RepliesUpdateCall {
-	c := &RepliesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RepliesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.commentId = commentId
 	c.replyId = replyId
@@ -10406,17 +10909,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RepliesUpdateCall) Fields(s ...googleapi.Field) *RepliesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RepliesUpdateCall) Context(ctx context.Context) *RepliesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10429,9 +10932,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/comments/{commentId}/replies/{replyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":    c.fileId,
@@ -10531,29 +11038,29 @@
 	s          *Service
 	fileId     string
 	revisionId string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Removes a revision.
 func (r *RevisionsService) Delete(fileId string, revisionId string) *RevisionsDeleteCall {
-	c := &RevisionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RevisionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.revisionId = revisionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RevisionsDeleteCall) Fields(s ...googleapi.Field) *RevisionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RevisionsDeleteCall) Context(ctx context.Context) *RevisionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -10561,9 +11068,13 @@
 
 func (c *RevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/revisions/{revisionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":     c.fileId,
@@ -10622,27 +11133,26 @@
 // method id "drive.revisions.get":
 
 type RevisionsGetCall struct {
-	s            *Service
-	fileId       string
-	revisionId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	fileId     string
+	revisionId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets a specific revision.
 func (r *RevisionsService) Get(fileId string, revisionId string) *RevisionsGetCall {
-	c := &RevisionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RevisionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.revisionId = revisionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RevisionsGetCall) Fields(s ...googleapi.Field) *RevisionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10652,13 +11162,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RevisionsGetCall) IfNoneMatch(entityTag string) *RevisionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RevisionsGetCall) Context(ctx context.Context) *RevisionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10666,17 +11176,21 @@
 
 func (c *RevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/revisions/{revisionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":     c.fileId,
 		"revisionId": c.revisionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10761,25 +11275,24 @@
 // method id "drive.revisions.list":
 
 type RevisionsListCall struct {
-	s            *Service
-	fileId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	fileId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists a file's revisions.
 func (r *RevisionsService) List(fileId string) *RevisionsListCall {
-	c := &RevisionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RevisionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RevisionsListCall) Fields(s ...googleapi.Field) *RevisionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10789,13 +11302,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RevisionsListCall) IfNoneMatch(entityTag string) *RevisionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RevisionsListCall) Context(ctx context.Context) *RevisionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -10803,16 +11316,20 @@
 
 func (c *RevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/revisions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId": c.fileId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10894,30 +11411,30 @@
 	fileId     string
 	revisionId string
 	revision   *Revision
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates a revision. This method supports patch semantics.
 func (r *RevisionsService) Patch(fileId string, revisionId string, revision *Revision) *RevisionsPatchCall {
-	c := &RevisionsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RevisionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.revisionId = revisionId
 	c.revision = revision
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RevisionsPatchCall) Fields(s ...googleapi.Field) *RevisionsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RevisionsPatchCall) Context(ctx context.Context) *RevisionsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10930,9 +11447,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/revisions/{revisionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":     c.fileId,
@@ -11026,30 +11547,30 @@
 	fileId     string
 	revisionId string
 	revision   *Revision
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates a revision.
 func (r *RevisionsService) Update(fileId string, revisionId string, revision *Revision) *RevisionsUpdateCall {
-	c := &RevisionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RevisionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.fileId = fileId
 	c.revisionId = revisionId
 	c.revision = revision
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RevisionsUpdateCall) Fields(s ...googleapi.Field) *RevisionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RevisionsUpdateCall) Context(ctx context.Context) *RevisionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11062,9 +11583,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/revisions/{revisionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"fileId":     c.fileId,
diff --git a/fitness/v1/fitness-gen.go b/fitness/v1/fitness-gen.go
index 9ebcda2..f0a4060 100644
--- a/fitness/v1/fitness-gen.go
+++ b/fitness/v1/fitness-gen.go
@@ -965,7 +965,7 @@
 	s          *Service
 	userId     string
 	datasource *DataSource
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -979,23 +979,23 @@
 // number is obfuscated when read by any other developer reading public
 // data types.
 func (r *UsersDataSourcesService) Create(userId string, datasource *DataSource) *UsersDataSourcesCreateCall {
-	c := &UsersDataSourcesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.datasource = datasource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesCreateCall) Fields(s ...googleapi.Field) *UsersDataSourcesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesCreateCall) Context(ctx context.Context) *UsersDataSourcesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1008,9 +1008,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -1095,30 +1099,30 @@
 	s            *Service
 	userId       string
 	dataSourceId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Delete the data source if there are no datapoints associated
 // with it
 func (r *UsersDataSourcesService) Delete(userId string, dataSourceId string) *UsersDataSourcesDeleteCall {
-	c := &UsersDataSourcesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesDeleteCall) Fields(s ...googleapi.Field) *UsersDataSourcesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesDeleteCall) Context(ctx context.Context) *UsersDataSourcesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1126,9 +1130,13 @@
 
 func (c *UsersDataSourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
@@ -1217,24 +1225,23 @@
 	s            *Service
 	userId       string
 	dataSourceId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Returns a data source identified by a data stream ID.
 func (r *UsersDataSourcesService) Get(userId string, dataSourceId string) *UsersDataSourcesGetCall {
-	c := &UsersDataSourcesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesGetCall) Fields(s ...googleapi.Field) *UsersDataSourcesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1244,13 +1251,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersDataSourcesGetCall) IfNoneMatch(entityTag string) *UsersDataSourcesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesGetCall) Context(ctx context.Context) *UsersDataSourcesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1258,17 +1265,21 @@
 
 func (c *UsersDataSourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
 		"dataSourceId": c.dataSourceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1352,11 +1363,10 @@
 // method id "fitness.users.dataSources.list":
 
 type UsersDataSourcesListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists all data sources that are visible to the developer, using
@@ -1364,7 +1374,7 @@
 // have private data sources that are only visible to other developers
 // or calls using other scopes.
 func (r *UsersDataSourcesService) List(userId string) *UsersDataSourcesListCall {
-	c := &UsersDataSourcesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -1372,16 +1382,16 @@
 // DataTypeName sets the optional parameter "dataTypeName": The names of
 // data types to include in the list. If not specified, all data sources
 // will be returned.
-func (c *UsersDataSourcesListCall) DataTypeName(dataTypeName []string) *UsersDataSourcesListCall {
-	c.urlParams_.SetMulti("dataTypeName", append([]string{}, dataTypeName...))
+func (c *UsersDataSourcesListCall) DataTypeName(dataTypeName string) *UsersDataSourcesListCall {
+	c.opt_["dataTypeName"] = dataTypeName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesListCall) Fields(s ...googleapi.Field) *UsersDataSourcesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1391,13 +1401,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersDataSourcesListCall) IfNoneMatch(entityTag string) *UsersDataSourcesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesListCall) Context(ctx context.Context) *UsersDataSourcesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1405,16 +1415,23 @@
 
 func (c *UsersDataSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["dataTypeName"]; ok {
+		params.Set("dataTypeName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1501,7 +1518,7 @@
 	userId       string
 	dataSourceId string
 	datasource   *DataSource
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1514,24 +1531,24 @@
 // Data sources are identified by their data stream ID. This method
 // supports patch semantics.
 func (r *UsersDataSourcesService) Patch(userId string, dataSourceId string, datasource *DataSource) *UsersDataSourcesPatchCall {
-	c := &UsersDataSourcesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	c.datasource = datasource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesPatchCall) Fields(s ...googleapi.Field) *UsersDataSourcesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesPatchCall) Context(ctx context.Context) *UsersDataSourcesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1544,9 +1561,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
@@ -1640,7 +1661,7 @@
 	userId       string
 	dataSourceId string
 	datasource   *DataSource
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1652,24 +1673,24 @@
 //
 // Data sources are identified by their data stream ID.
 func (r *UsersDataSourcesService) Update(userId string, dataSourceId string, datasource *DataSource) *UsersDataSourcesUpdateCall {
-	c := &UsersDataSourcesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	c.datasource = datasource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesUpdateCall) Fields(s ...googleapi.Field) *UsersDataSourcesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesUpdateCall) Context(ctx context.Context) *UsersDataSourcesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1682,9 +1703,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
@@ -1778,7 +1803,7 @@
 	userId       string
 	dataSourceId string
 	datasetId    string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1790,7 +1815,7 @@
 // straddles either end point of the dataset, only the overlapping
 // portion of the data point will be deleted.
 func (r *UsersDataSourcesDatasetsService) Delete(userId string, dataSourceId string, datasetId string) *UsersDataSourcesDatasetsDeleteCall {
-	c := &UsersDataSourcesDatasetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesDatasetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	c.datasetId = datasetId
@@ -1800,28 +1825,28 @@
 // CurrentTimeMillis sets the optional parameter "currentTimeMillis":
 // The client's current time in milliseconds since epoch.
 func (c *UsersDataSourcesDatasetsDeleteCall) CurrentTimeMillis(currentTimeMillis int64) *UsersDataSourcesDatasetsDeleteCall {
-	c.urlParams_.Set("currentTimeMillis", fmt.Sprintf("%v", currentTimeMillis))
+	c.opt_["currentTimeMillis"] = currentTimeMillis
 	return c
 }
 
 // ModifiedTimeMillis sets the optional parameter "modifiedTimeMillis":
 // When the operation was performed on the client.
 func (c *UsersDataSourcesDatasetsDeleteCall) ModifiedTimeMillis(modifiedTimeMillis int64) *UsersDataSourcesDatasetsDeleteCall {
-	c.urlParams_.Set("modifiedTimeMillis", fmt.Sprintf("%v", modifiedTimeMillis))
+	c.opt_["modifiedTimeMillis"] = modifiedTimeMillis
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesDatasetsDeleteCall) Fields(s ...googleapi.Field) *UsersDataSourcesDatasetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesDatasetsDeleteCall) Context(ctx context.Context) *UsersDataSourcesDatasetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1829,9 +1854,19 @@
 
 func (c *UsersDataSourcesDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["currentTimeMillis"]; ok {
+		params.Set("currentTimeMillis", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedTimeMillis"]; ok {
+		params.Set("modifiedTimeMillis", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
@@ -1914,8 +1949,7 @@
 	userId       string
 	dataSourceId string
 	datasetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1925,7 +1959,7 @@
 // time is less than or equal to the dataset end time and whose end time
 // is greater than or equal to the dataset start time.
 func (r *UsersDataSourcesDatasetsService) Get(userId string, dataSourceId string, datasetId string) *UsersDataSourcesDatasetsGetCall {
-	c := &UsersDataSourcesDatasetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesDatasetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	c.datasetId = datasetId
@@ -1937,7 +1971,7 @@
 // are more data points in the dataset, nextPageToken will be set in the
 // dataset response.
 func (c *UsersDataSourcesDatasetsGetCall) Limit(limit int64) *UsersDataSourcesDatasetsGetCall {
-	c.urlParams_.Set("limit", fmt.Sprintf("%v", limit))
+	c.opt_["limit"] = limit
 	return c
 }
 
@@ -1948,15 +1982,15 @@
 // dataset with data point end timestamps that are strictly smaller than
 // those in the previous partial response.
 func (c *UsersDataSourcesDatasetsGetCall) PageToken(pageToken string) *UsersDataSourcesDatasetsGetCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesDatasetsGetCall) Fields(s ...googleapi.Field) *UsersDataSourcesDatasetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1966,13 +2000,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersDataSourcesDatasetsGetCall) IfNoneMatch(entityTag string) *UsersDataSourcesDatasetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesDatasetsGetCall) Context(ctx context.Context) *UsersDataSourcesDatasetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1980,9 +2014,19 @@
 
 func (c *UsersDataSourcesDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["limit"]; ok {
+		params.Set("limit", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
@@ -1990,8 +2034,8 @@
 		"datasetId":    c.datasetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2098,7 +2142,7 @@
 	dataSourceId string
 	datasetId    string
 	dataset      *Dataset
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -2108,7 +2152,7 @@
 // can belong to more than one dataset. This method does not use patch
 // semantics.
 func (r *UsersDataSourcesDatasetsService) Patch(userId string, dataSourceId string, datasetId string, dataset *Dataset) *UsersDataSourcesDatasetsPatchCall {
-	c := &UsersDataSourcesDatasetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDataSourcesDatasetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.dataSourceId = dataSourceId
 	c.datasetId = datasetId
@@ -2121,21 +2165,21 @@
 // minStartTimeNs and maxEndTimeNs properties in the request body are in
 // nanoseconds instead of milliseconds.
 func (c *UsersDataSourcesDatasetsPatchCall) CurrentTimeMillis(currentTimeMillis int64) *UsersDataSourcesDatasetsPatchCall {
-	c.urlParams_.Set("currentTimeMillis", fmt.Sprintf("%v", currentTimeMillis))
+	c.opt_["currentTimeMillis"] = currentTimeMillis
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDataSourcesDatasetsPatchCall) Fields(s ...googleapi.Field) *UsersDataSourcesDatasetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDataSourcesDatasetsPatchCall) Context(ctx context.Context) *UsersDataSourcesDatasetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2148,9 +2192,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["currentTimeMillis"]; ok {
+		params.Set("currentTimeMillis", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":       c.userId,
@@ -2257,7 +2308,7 @@
 	s                *Service
 	userId           string
 	aggregaterequest *AggregateRequest
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -2266,23 +2317,23 @@
 // types and from multiple sources can be aggreated into exactly one
 // bucket type per request.
 func (r *UsersDatasetService) Aggregate(userId string, aggregaterequest *AggregateRequest) *UsersDatasetAggregateCall {
-	c := &UsersDatasetAggregateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDatasetAggregateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.aggregaterequest = aggregaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDatasetAggregateCall) Fields(s ...googleapi.Field) *UsersDatasetAggregateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDatasetAggregateCall) Context(ctx context.Context) *UsersDatasetAggregateCall {
 	c.ctx_ = ctx
 	return c
@@ -2295,9 +2346,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataset:aggregate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -2379,16 +2434,16 @@
 // method id "fitness.users.sessions.delete":
 
 type UsersSessionsDeleteCall struct {
-	s          *Service
-	userId     string
-	sessionId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	userId    string
+	sessionId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a session specified by the given session ID.
 func (r *UsersSessionsService) Delete(userId string, sessionId string) *UsersSessionsDeleteCall {
-	c := &UsersSessionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersSessionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.sessionId = sessionId
 	return c
@@ -2397,21 +2452,21 @@
 // CurrentTimeMillis sets the optional parameter "currentTimeMillis":
 // The client's current time in milliseconds since epoch.
 func (c *UsersSessionsDeleteCall) CurrentTimeMillis(currentTimeMillis int64) *UsersSessionsDeleteCall {
-	c.urlParams_.Set("currentTimeMillis", fmt.Sprintf("%v", currentTimeMillis))
+	c.opt_["currentTimeMillis"] = currentTimeMillis
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersSessionsDeleteCall) Fields(s ...googleapi.Field) *UsersSessionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersSessionsDeleteCall) Context(ctx context.Context) *UsersSessionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2419,9 +2474,16 @@
 
 func (c *UsersSessionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["currentTimeMillis"]; ok {
+		params.Set("currentTimeMillis", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/sessions/{sessionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":    c.userId,
@@ -2484,16 +2546,15 @@
 // method id "fitness.users.sessions.list":
 
 type UsersSessionsListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists sessions previously created.
 func (r *UsersSessionsService) List(userId string) *UsersSessionsListCall {
-	c := &UsersSessionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersSessionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -2502,7 +2563,7 @@
 // Only sessions ending between the start and end times will be included
 // in the response.
 func (c *UsersSessionsListCall) EndTime(endTime string) *UsersSessionsListCall {
-	c.urlParams_.Set("endTime", endTime)
+	c.opt_["endTime"] = endTime
 	return c
 }
 
@@ -2511,7 +2572,7 @@
 // returned in this response will only have an ID and will not have any
 // other fields.
 func (c *UsersSessionsListCall) IncludeDeleted(includeDeleted bool) *UsersSessionsListCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
@@ -2520,7 +2581,7 @@
 // next page of results, set this parameter to the value of
 // nextPageToken from the previous response.
 func (c *UsersSessionsListCall) PageToken(pageToken string) *UsersSessionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2528,15 +2589,15 @@
 // timestamp. Only sessions ending between the start and end times will
 // be included in the response.
 func (c *UsersSessionsListCall) StartTime(startTime string) *UsersSessionsListCall {
-	c.urlParams_.Set("startTime", startTime)
+	c.opt_["startTime"] = startTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersSessionsListCall) Fields(s ...googleapi.Field) *UsersSessionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2546,13 +2607,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersSessionsListCall) IfNoneMatch(entityTag string) *UsersSessionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersSessionsListCall) Context(ctx context.Context) *UsersSessionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2560,16 +2621,32 @@
 
 func (c *UsersSessionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endTime"]; ok {
+		params.Set("endTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startTime"]; ok {
+		params.Set("startTime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/sessions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2666,17 +2743,17 @@
 // method id "fitness.users.sessions.update":
 
 type UsersSessionsUpdateCall struct {
-	s          *Service
-	userId     string
-	sessionId  string
-	session    *Session
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	userId    string
+	sessionId string
+	session   *Session
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates or insert a given session.
 func (r *UsersSessionsService) Update(userId string, sessionId string, session *Session) *UsersSessionsUpdateCall {
-	c := &UsersSessionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersSessionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.sessionId = sessionId
 	c.session = session
@@ -2686,21 +2763,21 @@
 // CurrentTimeMillis sets the optional parameter "currentTimeMillis":
 // The client's current time in milliseconds since epoch.
 func (c *UsersSessionsUpdateCall) CurrentTimeMillis(currentTimeMillis int64) *UsersSessionsUpdateCall {
-	c.urlParams_.Set("currentTimeMillis", fmt.Sprintf("%v", currentTimeMillis))
+	c.opt_["currentTimeMillis"] = currentTimeMillis
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersSessionsUpdateCall) Fields(s ...googleapi.Field) *UsersSessionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersSessionsUpdateCall) Context(ctx context.Context) *UsersSessionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2713,9 +2790,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["currentTimeMillis"]; ok {
+		params.Set("currentTimeMillis", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/sessions/{sessionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":    c.userId,
diff --git a/freebase/v1/freebase-gen.go b/freebase/v1/freebase-gen.go
index ca6903e..0df80f5 100644
--- a/freebase/v1/freebase-gen.go
+++ b/freebase/v1/freebase-gen.go
@@ -212,65 +212,64 @@
 // method id "freebase.reconcile":
 
 type ReconcileCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Reconcile: Reconcile entities to Freebase open data.
 func (s *Service) Reconcile() *ReconcileCall {
-	c := &ReconcileCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &ReconcileCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Confidence sets the optional parameter "confidence": Required
 // confidence for a candidate to match. Must be between .5 and 1.0
 func (c *ReconcileCall) Confidence(confidence float64) *ReconcileCall {
-	c.urlParams_.Set("confidence", fmt.Sprintf("%v", confidence))
+	c.opt_["confidence"] = confidence
 	return c
 }
 
 // Kind sets the optional parameter "kind": Classifications of entity
 // e.g. type, category, title.
-func (c *ReconcileCall) Kind(kind []string) *ReconcileCall {
-	c.urlParams_.SetMulti("kind", append([]string{}, kind...))
+func (c *ReconcileCall) Kind(kind string) *ReconcileCall {
+	c.opt_["kind"] = kind
 	return c
 }
 
 // Lang sets the optional parameter "lang": Languages for names and
 // values. First language is used for display. Default is 'en'.
-func (c *ReconcileCall) Lang(lang []string) *ReconcileCall {
-	c.urlParams_.SetMulti("lang", append([]string{}, lang...))
+func (c *ReconcileCall) Lang(lang string) *ReconcileCall {
+	c.opt_["lang"] = lang
 	return c
 }
 
 // Limit sets the optional parameter "limit": Maximum number of
 // candidates to return.
 func (c *ReconcileCall) Limit(limit int64) *ReconcileCall {
-	c.urlParams_.Set("limit", fmt.Sprintf("%v", limit))
+	c.opt_["limit"] = limit
 	return c
 }
 
 // Name sets the optional parameter "name": Name of entity.
 func (c *ReconcileCall) Name(name string) *ReconcileCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // Prop sets the optional parameter "prop": Property values for entity
 // formatted as
 // :
-func (c *ReconcileCall) Prop(prop []string) *ReconcileCall {
-	c.urlParams_.SetMulti("prop", append([]string{}, prop...))
+func (c *ReconcileCall) Prop(prop string) *ReconcileCall {
+	c.opt_["prop"] = prop
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReconcileCall) Fields(s ...googleapi.Field) *ReconcileCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -280,13 +279,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReconcileCall) IfNoneMatch(entityTag string) *ReconcileCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReconcileCall) Context(ctx context.Context) *ReconcileCall {
 	c.ctx_ = ctx
 	return c
@@ -294,14 +293,36 @@
 
 func (c *ReconcileCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["confidence"]; ok {
+		params.Set("confidence", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["kind"]; ok {
+		params.Set("kind", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lang"]; ok {
+		params.Set("lang", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["limit"]; ok {
+		params.Set("limit", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prop"]; ok {
+		params.Set("prop", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reconcile")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -402,43 +423,42 @@
 // method id "freebase.search":
 
 type SearchCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Search: Search Freebase open data.
 func (s *Service) Search() *SearchCall {
-	c := &SearchCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &SearchCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AsOfTime sets the optional parameter "as_of_time": A mql as_of_time
 // value to use with mql_output queries.
 func (c *SearchCall) AsOfTime(asOfTime string) *SearchCall {
-	c.urlParams_.Set("asOfTime", asOfTime)
+	c.opt_["as_of_time"] = asOfTime
 	return c
 }
 
 // Callback sets the optional parameter "callback": JS method name for
 // JSONP callbacks.
 func (c *SearchCall) Callback(callback string) *SearchCall {
-	c.urlParams_.Set("callback", callback)
+	c.opt_["callback"] = callback
 	return c
 }
 
 // Cursor sets the optional parameter "cursor": The cursor value to use
 // for the next page of results.
 func (c *SearchCall) Cursor(cursor int64) *SearchCall {
-	c.urlParams_.Set("cursor", fmt.Sprintf("%v", cursor))
+	c.opt_["cursor"] = cursor
 	return c
 }
 
 // Domain sets the optional parameter "domain": Restrict to topics with
 // this Freebase domain id.
-func (c *SearchCall) Domain(domain []string) *SearchCall {
-	c.urlParams_.SetMulti("domain", append([]string{}, domain...))
+func (c *SearchCall) Domain(domain string) *SearchCall {
+	c.opt_["domain"] = domain
 	return c
 }
 
@@ -452,21 +472,21 @@
 // the results directly on an web page without html-escaping the content
 // first.
 func (c *SearchCall) Encode(encode string) *SearchCall {
-	c.urlParams_.Set("encode", encode)
+	c.opt_["encode"] = encode
 	return c
 }
 
 // Exact sets the optional parameter "exact": Query on exact name and
 // keys only.
 func (c *SearchCall) Exact(exact bool) *SearchCall {
-	c.urlParams_.Set("exact", fmt.Sprintf("%v", exact))
+	c.opt_["exact"] = exact
 	return c
 }
 
 // Filter sets the optional parameter "filter": A filter to apply to the
 // query.
-func (c *SearchCall) Filter(filter []string) *SearchCall {
-	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
+func (c *SearchCall) Filter(filter string) *SearchCall {
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -482,7 +502,7 @@
 //   "ids" - Ordered list of freebase ids.
 //   "mids" - Ordered list of freebase mids.
 func (c *SearchCall) Format(format string) *SearchCall {
-	c.urlParams_.Set("format", format)
+	c.opt_["format"] = format
 	return c
 }
 
@@ -496,62 +516,62 @@
 //   "predicates" - The predicates and path-terminating properties
 // supported by the filter and output request parameters.
 func (c *SearchCall) Help(help string) *SearchCall {
-	c.urlParams_.Set("help", help)
+	c.opt_["help"] = help
 	return c
 }
 
 // Indent sets the optional parameter "indent": Whether to indent the
 // json results or not.
 func (c *SearchCall) Indent(indent bool) *SearchCall {
-	c.urlParams_.Set("indent", fmt.Sprintf("%v", indent))
+	c.opt_["indent"] = indent
 	return c
 }
 
 // Lang sets the optional parameter "lang": The code of the language to
 // run the query with. Default is 'en'.
-func (c *SearchCall) Lang(lang []string) *SearchCall {
-	c.urlParams_.SetMulti("lang", append([]string{}, lang...))
+func (c *SearchCall) Lang(lang string) *SearchCall {
+	c.opt_["lang"] = lang
 	return c
 }
 
 // Limit sets the optional parameter "limit": Maximum number of results
 // to return.
 func (c *SearchCall) Limit(limit int64) *SearchCall {
-	c.urlParams_.Set("limit", fmt.Sprintf("%v", limit))
+	c.opt_["limit"] = limit
 	return c
 }
 
 // Mid sets the optional parameter "mid": A mid to use instead of a
 // query.
-func (c *SearchCall) Mid(mid []string) *SearchCall {
-	c.urlParams_.SetMulti("mid", append([]string{}, mid...))
+func (c *SearchCall) Mid(mid string) *SearchCall {
+	c.opt_["mid"] = mid
 	return c
 }
 
 // MqlOutput sets the optional parameter "mql_output": The MQL query to
 // run againist the results to extract more data.
 func (c *SearchCall) MqlOutput(mqlOutput string) *SearchCall {
-	c.urlParams_.Set("mqlOutput", mqlOutput)
+	c.opt_["mql_output"] = mqlOutput
 	return c
 }
 
 // Output sets the optional parameter "output": An output expression to
 // request data from matches.
 func (c *SearchCall) Output(output string) *SearchCall {
-	c.urlParams_.Set("output", output)
+	c.opt_["output"] = output
 	return c
 }
 
 // Prefixed sets the optional parameter "prefixed": Prefix match against
 // names and aliases.
 func (c *SearchCall) Prefixed(prefixed bool) *SearchCall {
-	c.urlParams_.Set("prefixed", fmt.Sprintf("%v", prefixed))
+	c.opt_["prefixed"] = prefixed
 	return c
 }
 
 // Query sets the optional parameter "query": Query term to search for.
 func (c *SearchCall) Query(query string) *SearchCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
@@ -563,7 +583,7 @@
 //   "freebase" - Use freebase entity ranking.
 //   "schema" - Use schema ranking for properties and types.
 func (c *SearchCall) Scoring(scoring string) *SearchCall {
-	c.urlParams_.Set("scoring", scoring)
+	c.opt_["scoring"] = scoring
 	return c
 }
 
@@ -577,42 +597,42 @@
 // found.
 //   "no_spelling" (default) - Don't request spelling suggestions.
 func (c *SearchCall) Spell(spell string) *SearchCall {
-	c.urlParams_.Set("spell", spell)
+	c.opt_["spell"] = spell
 	return c
 }
 
 // Stemmed sets the optional parameter "stemmed": Query on stemmed names
 // and aliases. May not be used with prefixed.
 func (c *SearchCall) Stemmed(stemmed bool) *SearchCall {
-	c.urlParams_.Set("stemmed", fmt.Sprintf("%v", stemmed))
+	c.opt_["stemmed"] = stemmed
 	return c
 }
 
 // Type sets the optional parameter "type": Restrict to topics with this
 // Freebase type id.
-func (c *SearchCall) Type(type_ []string) *SearchCall {
-	c.urlParams_.SetMulti("type_", append([]string{}, type_...))
+func (c *SearchCall) Type(type_ string) *SearchCall {
+	c.opt_["type"] = type_
 	return c
 }
 
 // With sets the optional parameter "with": A rule to match against.
-func (c *SearchCall) With(with []string) *SearchCall {
-	c.urlParams_.SetMulti("with", append([]string{}, with...))
+func (c *SearchCall) With(with string) *SearchCall {
+	c.opt_["with"] = with
 	return c
 }
 
 // Without sets the optional parameter "without": A rule to not match
 // against.
-func (c *SearchCall) Without(without []string) *SearchCall {
-	c.urlParams_.SetMulti("without", append([]string{}, without...))
+func (c *SearchCall) Without(without string) *SearchCall {
+	c.opt_["without"] = without
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SearchCall) Fields(s ...googleapi.Field) *SearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -622,13 +642,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SearchCall) IfNoneMatch(entityTag string) *SearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SearchCall) Context(ctx context.Context) *SearchCall {
 	c.ctx_ = ctx
 	return c
@@ -636,14 +656,87 @@
 
 func (c *SearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["as_of_time"]; ok {
+		params.Set("as_of_time", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["callback"]; ok {
+		params.Set("callback", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["cursor"]; ok {
+		params.Set("cursor", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["domain"]; ok {
+		params.Set("domain", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["encode"]; ok {
+		params.Set("encode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["exact"]; ok {
+		params.Set("exact", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["format"]; ok {
+		params.Set("format", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["help"]; ok {
+		params.Set("help", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["indent"]; ok {
+		params.Set("indent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["lang"]; ok {
+		params.Set("lang", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["limit"]; ok {
+		params.Set("limit", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mid"]; ok {
+		params.Set("mid", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mql_output"]; ok {
+		params.Set("mql_output", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["output"]; ok {
+		params.Set("output", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefixed"]; ok {
+		params.Set("prefixed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scoring"]; ok {
+		params.Set("scoring", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["spell"]; ok {
+		params.Set("spell", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["stemmed"]; ok {
+		params.Set("stemmed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["with"]; ok {
+		params.Set("with", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["without"]; ok {
+		params.Set("without", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/fusiontables/v1/fusiontables-gen.go b/fusiontables/v1/fusiontables-gen.go
index 7579b4a..242315d 100644
--- a/fusiontables/v1/fusiontables-gen.go
+++ b/fusiontables/v1/fusiontables-gen.go
@@ -961,32 +961,32 @@
 // method id "fusiontables.column.delete":
 
 type ColumnDeleteCall struct {
-	s          *Service
-	tableId    string
-	columnId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the column.
 func (r *ColumnService) Delete(tableId string, columnId string) *ColumnDeleteCall {
-	c := &ColumnDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnDeleteCall) Fields(s ...googleapi.Field) *ColumnDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnDeleteCall) Context(ctx context.Context) *ColumnDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -994,9 +994,13 @@
 
 func (c *ColumnDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
@@ -1053,27 +1057,26 @@
 // method id "fusiontables.column.get":
 
 type ColumnGetCall struct {
-	s            *Service
-	tableId      string
-	columnId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a specific column by its id.
 func (r *ColumnService) Get(tableId string, columnId string) *ColumnGetCall {
-	c := &ColumnGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnGetCall) Fields(s ...googleapi.Field) *ColumnGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1083,13 +1086,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ColumnGetCall) IfNoneMatch(entityTag string) *ColumnGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnGetCall) Context(ctx context.Context) *ColumnGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1097,17 +1100,21 @@
 
 func (c *ColumnGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
 		"columnId": c.columnId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1187,32 +1194,32 @@
 // method id "fusiontables.column.insert":
 
 type ColumnInsertCall struct {
-	s          *Service
-	tableId    string
-	column     *Column
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	column  *Column
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Adds a new column to the table.
 func (r *ColumnService) Insert(tableId string, column *Column) *ColumnInsertCall {
-	c := &ColumnInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.column = column
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnInsertCall) Fields(s ...googleapi.Field) *ColumnInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnInsertCall) Context(ctx context.Context) *ColumnInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1225,9 +1232,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -1307,16 +1318,15 @@
 // method id "fusiontables.column.list":
 
 type ColumnListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of columns.
 func (r *ColumnService) List(tableId string) *ColumnListCall {
-	c := &ColumnListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -1324,22 +1334,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of columns to return.  Default is 5.
 func (c *ColumnListCall) MaxResults(maxResults int64) *ColumnListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *ColumnListCall) PageToken(pageToken string) *ColumnListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnListCall) Fields(s ...googleapi.Field) *ColumnListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1349,13 +1359,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ColumnListCall) IfNoneMatch(entityTag string) *ColumnListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnListCall) Context(ctx context.Context) *ColumnListCall {
 	c.ctx_ = ctx
 	return c
@@ -1363,16 +1373,26 @@
 
 func (c *ColumnListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1457,35 +1477,35 @@
 // method id "fusiontables.column.patch":
 
 type ColumnPatchCall struct {
-	s          *Service
-	tableId    string
-	columnId   string
-	column     *Column
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	column   *Column
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Patch: Updates the name or type of an existing column. This method
 // supports patch semantics.
 func (r *ColumnService) Patch(tableId string, columnId string, column *Column) *ColumnPatchCall {
-	c := &ColumnPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	c.column = column
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnPatchCall) Fields(s ...googleapi.Field) *ColumnPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnPatchCall) Context(ctx context.Context) *ColumnPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1498,9 +1518,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
@@ -1588,34 +1612,34 @@
 // method id "fusiontables.column.update":
 
 type ColumnUpdateCall struct {
-	s          *Service
-	tableId    string
-	columnId   string
-	column     *Column
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	column   *Column
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Updates the name or type of an existing column.
 func (r *ColumnService) Update(tableId string, columnId string, column *Column) *ColumnUpdateCall {
-	c := &ColumnUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	c.column = column
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnUpdateCall) Fields(s ...googleapi.Field) *ColumnUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnUpdateCall) Context(ctx context.Context) *ColumnUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1628,9 +1652,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
@@ -1718,23 +1746,24 @@
 // method id "fusiontables.query.sql":
 
 type QuerySqlCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	sql  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Sql: Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE
 // statement.
 func (r *QueryService) Sql(sql string) *QuerySqlCall {
-	c := &QuerySqlCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("sql", sql)
+	c := &QuerySqlCall{s: r.s, opt_: make(map[string]interface{})}
+	c.sql = sql
 	return c
 }
 
 // Hdrs sets the optional parameter "hdrs": Should column names be
 // included (in the first row)?. Default is true.
 func (c *QuerySqlCall) Hdrs(hdrs bool) *QuerySqlCall {
-	c.urlParams_.Set("hdrs", fmt.Sprintf("%v", hdrs))
+	c.opt_["hdrs"] = hdrs
 	return c
 }
 
@@ -1742,21 +1771,21 @@
 // returned in the (JSON) response -- numbers for numeric values and
 // parsed geometries for KML values? Default is true.
 func (c *QuerySqlCall) Typed(typed bool) *QuerySqlCall {
-	c.urlParams_.Set("typed", fmt.Sprintf("%v", typed))
+	c.opt_["typed"] = typed
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuerySqlCall) Fields(s ...googleapi.Field) *QuerySqlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuerySqlCall) Context(ctx context.Context) *QuerySqlCall {
 	c.ctx_ = ctx
 	return c
@@ -1764,9 +1793,20 @@
 
 func (c *QuerySqlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sql", fmt.Sprintf("%v", c.sql))
+	if v, ok := c.opt_["hdrs"]; ok {
+		params.Set("hdrs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["typed"]; ok {
+		params.Set("typed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1867,23 +1907,23 @@
 // method id "fusiontables.query.sqlGet":
 
 type QuerySqlGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	sql  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // SqlGet: Executes an SQL SELECT/SHOW/DESCRIBE statement.
 func (r *QueryService) SqlGet(sql string) *QuerySqlGetCall {
-	c := &QuerySqlGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("sql", sql)
+	c := &QuerySqlGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.sql = sql
 	return c
 }
 
 // Hdrs sets the optional parameter "hdrs": Should column names be
 // included (in the first row)?. Default is true.
 func (c *QuerySqlGetCall) Hdrs(hdrs bool) *QuerySqlGetCall {
-	c.urlParams_.Set("hdrs", fmt.Sprintf("%v", hdrs))
+	c.opt_["hdrs"] = hdrs
 	return c
 }
 
@@ -1891,15 +1931,15 @@
 // returned in the (JSON) response -- numbers for numeric values and
 // parsed geometries for KML values? Default is true.
 func (c *QuerySqlGetCall) Typed(typed bool) *QuerySqlGetCall {
-	c.urlParams_.Set("typed", fmt.Sprintf("%v", typed))
+	c.opt_["typed"] = typed
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuerySqlGetCall) Fields(s ...googleapi.Field) *QuerySqlGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1909,13 +1949,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *QuerySqlGetCall) IfNoneMatch(entityTag string) *QuerySqlGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuerySqlGetCall) Context(ctx context.Context) *QuerySqlGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1923,14 +1963,25 @@
 
 func (c *QuerySqlGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sql", fmt.Sprintf("%v", c.sql))
+	if v, ok := c.opt_["hdrs"]; ok {
+		params.Set("hdrs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["typed"]; ok {
+		params.Set("typed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2029,32 +2080,32 @@
 // method id "fusiontables.style.delete":
 
 type StyleDeleteCall struct {
-	s          *Service
-	tableId    string
-	styleId    int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	styleId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes a style.
 func (r *StyleService) Delete(tableId string, styleId int64) *StyleDeleteCall {
-	c := &StyleDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleDeleteCall) Fields(s ...googleapi.Field) *StyleDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleDeleteCall) Context(ctx context.Context) *StyleDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2062,9 +2113,13 @@
 
 func (c *StyleDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2122,27 +2177,26 @@
 // method id "fusiontables.style.get":
 
 type StyleGetCall struct {
-	s            *Service
-	tableId      string
-	styleId      int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	styleId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Gets a specific style.
 func (r *StyleService) Get(tableId string, styleId int64) *StyleGetCall {
-	c := &StyleGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleGetCall) Fields(s ...googleapi.Field) *StyleGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2152,13 +2206,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *StyleGetCall) IfNoneMatch(entityTag string) *StyleGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleGetCall) Context(ctx context.Context) *StyleGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2166,17 +2220,21 @@
 
 func (c *StyleGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 		"styleId": strconv.FormatInt(c.styleId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2260,29 +2318,29 @@
 	s            *Service
 	tableId      string
 	stylesetting *StyleSetting
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Adds a new style for the table.
 func (r *StyleService) Insert(tableId string, stylesetting *StyleSetting) *StyleInsertCall {
-	c := &StyleInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.stylesetting = stylesetting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleInsertCall) Fields(s ...googleapi.Field) *StyleInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleInsertCall) Context(ctx context.Context) *StyleInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2295,9 +2353,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2377,16 +2439,15 @@
 // method id "fusiontables.style.list":
 
 type StyleListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of styles.
 func (r *StyleService) List(tableId string) *StyleListCall {
-	c := &StyleListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -2394,22 +2455,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of styles to return.  Default is 5.
 func (c *StyleListCall) MaxResults(maxResults int64) *StyleListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *StyleListCall) PageToken(pageToken string) *StyleListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleListCall) Fields(s ...googleapi.Field) *StyleListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2419,13 +2480,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *StyleListCall) IfNoneMatch(entityTag string) *StyleListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleListCall) Context(ctx context.Context) *StyleListCall {
 	c.ctx_ = ctx
 	return c
@@ -2433,16 +2494,26 @@
 
 func (c *StyleListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2531,31 +2602,31 @@
 	tableId      string
 	styleId      int64
 	stylesetting *StyleSetting
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates an existing style. This method supports patch
 // semantics.
 func (r *StyleService) Patch(tableId string, styleId int64, stylesetting *StyleSetting) *StylePatchCall {
-	c := &StylePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StylePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	c.stylesetting = stylesetting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StylePatchCall) Fields(s ...googleapi.Field) *StylePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StylePatchCall) Context(ctx context.Context) *StylePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2568,9 +2639,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2663,30 +2738,30 @@
 	tableId      string
 	styleId      int64
 	stylesetting *StyleSetting
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates an existing style.
 func (r *StyleService) Update(tableId string, styleId int64, stylesetting *StyleSetting) *StyleUpdateCall {
-	c := &StyleUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	c.stylesetting = stylesetting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleUpdateCall) Fields(s ...googleapi.Field) *StyleUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleUpdateCall) Context(ctx context.Context) *StyleUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2699,9 +2774,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2790,15 +2869,15 @@
 // method id "fusiontables.table.copy":
 
 type TableCopyCall struct {
-	s          *Service
-	tableId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Copy: Copies a table.
 func (r *TableService) Copy(tableId string) *TableCopyCall {
-	c := &TableCopyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableCopyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -2806,21 +2885,21 @@
 // CopyPresentation sets the optional parameter "copyPresentation":
 // Whether to also copy tabs, styles, and templates. Default is false.
 func (c *TableCopyCall) CopyPresentation(copyPresentation bool) *TableCopyCall {
-	c.urlParams_.Set("copyPresentation", fmt.Sprintf("%v", copyPresentation))
+	c.opt_["copyPresentation"] = copyPresentation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableCopyCall) Fields(s ...googleapi.Field) *TableCopyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableCopyCall) Context(ctx context.Context) *TableCopyCall {
 	c.ctx_ = ctx
 	return c
@@ -2828,9 +2907,16 @@
 
 func (c *TableCopyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["copyPresentation"]; ok {
+		params.Set("copyPresentation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/copy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2912,30 +2998,30 @@
 // method id "fusiontables.table.delete":
 
 type TableDeleteCall struct {
-	s          *Service
-	tableId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes a table.
 func (r *TableService) Delete(tableId string) *TableDeleteCall {
-	c := &TableDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableDeleteCall) Fields(s ...googleapi.Field) *TableDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableDeleteCall) Context(ctx context.Context) *TableDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2943,9 +3029,13 @@
 
 func (c *TableDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2994,25 +3084,24 @@
 // method id "fusiontables.table.get":
 
 type TableGetCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieves a specific table by its id.
 func (r *TableService) Get(tableId string) *TableGetCall {
-	c := &TableGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableGetCall) Fields(s ...googleapi.Field) *TableGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3022,13 +3111,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TableGetCall) IfNoneMatch(entityTag string) *TableGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableGetCall) Context(ctx context.Context) *TableGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3036,16 +3125,20 @@
 
 func (c *TableGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3118,20 +3211,19 @@
 // method id "fusiontables.table.importRows":
 
 type TableImportRowsCall struct {
-	s                *Service
-	tableId          string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	tableId    string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // ImportRows: Import more rows into a table.
 func (r *TableService) ImportRows(tableId string) *TableImportRowsCall {
-	c := &TableImportRowsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableImportRowsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -3140,7 +3232,7 @@
 // to separate cell values. This can only consist of a single character.
 // Default is ','.
 func (c *TableImportRowsCall) Delimiter(delimiter string) *TableImportRowsCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -3148,7 +3240,7 @@
 // content. Default is UTF-8. Use 'auto-detect' if you are unsure of the
 // encoding.
 func (c *TableImportRowsCall) Encoding(encoding string) *TableImportRowsCall {
-	c.urlParams_.Set("encoding", encoding)
+	c.opt_["encoding"] = encoding
 	return c
 }
 
@@ -3162,7 +3254,7 @@
 // number of lines in the file, and the number of imported lines will be
 // N + endLine - startLine.
 func (c *TableImportRowsCall) EndLine(endLine int64) *TableImportRowsCall {
-	c.urlParams_.Set("endLine", fmt.Sprintf("%v", endLine))
+	c.opt_["endLine"] = endLine
 	return c
 }
 
@@ -3170,31 +3262,31 @@
 // have the same number of values for each row. If false, rows with
 // fewer values will be padded with empty values. Default is true.
 func (c *TableImportRowsCall) IsStrict(isStrict bool) *TableImportRowsCall {
-	c.urlParams_.Set("isStrict", fmt.Sprintf("%v", isStrict))
+	c.opt_["isStrict"] = isStrict
 	return c
 }
 
 // StartLine sets the optional parameter "startLine": The index of the
 // first line from which to start importing, inclusive. Default is 0.
 func (c *TableImportRowsCall) StartLine(startLine int64) *TableImportRowsCall {
-	c.urlParams_.Set("startLine", fmt.Sprintf("%v", startLine))
+	c.opt_["startLine"] = startLine
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TableImportRowsCall) Media(r io.Reader) *TableImportRowsCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TableImportRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportRowsCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3203,28 +3295,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TableImportRowsCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportRowsCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableImportRowsCall) Fields(s ...googleapi.Field) *TableImportRowsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TableImportRowsCall) Context(ctx context.Context) *TableImportRowsCall {
 	c.ctx_ = ctx
 	return c
@@ -3232,13 +3323,32 @@
 
 func (c *TableImportRowsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["encoding"]; ok {
+		params.Set("encoding", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endLine"]; ok {
+		params.Set("endLine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["isStrict"]; ok {
+		params.Set("isStrict", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startLine"]; ok {
+		params.Set("startLine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/import")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -3293,6 +3403,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3302,7 +3418,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3393,20 +3509,20 @@
 // method id "fusiontables.table.importTable":
 
 type TableImportTableCall struct {
-	s                *Service
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	name       string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // ImportTable: Import a new table.
 func (r *TableService) ImportTable(name string) *TableImportTableCall {
-	c := &TableImportTableCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("name", name)
+	c := &TableImportTableCall{s: r.s, opt_: make(map[string]interface{})}
+	c.name = name
 	return c
 }
 
@@ -3414,7 +3530,7 @@
 // to separate cell values. This can only consist of a single character.
 // Default is ','.
 func (c *TableImportTableCall) Delimiter(delimiter string) *TableImportTableCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -3422,24 +3538,24 @@
 // content. Default is UTF-8. Use 'auto-detect' if you are unsure of the
 // encoding.
 func (c *TableImportTableCall) Encoding(encoding string) *TableImportTableCall {
-	c.urlParams_.Set("encoding", encoding)
+	c.opt_["encoding"] = encoding
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TableImportTableCall) Media(r io.Reader) *TableImportTableCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TableImportTableCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportTableCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3448,28 +3564,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TableImportTableCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportTableCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableImportTableCall) Fields(s ...googleapi.Field) *TableImportTableCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TableImportTableCall) Context(ctx context.Context) *TableImportTableCall {
 	c.ctx_ = ctx
 	return c
@@ -3477,13 +3592,24 @@
 
 func (c *TableImportTableCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("name", fmt.Sprintf("%v", c.name))
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["encoding"]; ok {
+		params.Set("encoding", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/import")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -3536,6 +3662,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3545,7 +3677,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3619,30 +3751,30 @@
 // method id "fusiontables.table.insert":
 
 type TableInsertCall struct {
-	s          *Service
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Insert: Creates a new table.
 func (r *TableService) Insert(table *Table) *TableInsertCall {
-	c := &TableInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableInsertCall) Fields(s ...googleapi.Field) *TableInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableInsertCall) Context(ctx context.Context) *TableInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3655,9 +3787,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3724,37 +3860,36 @@
 // method id "fusiontables.table.list":
 
 type TableListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of tables a user owns.
 func (r *TableService) List() *TableListCall {
-	c := &TableListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of styles to return.  Default is 5.
 func (c *TableListCall) MaxResults(maxResults int64) *TableListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *TableListCall) PageToken(pageToken string) *TableListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableListCall) Fields(s ...googleapi.Field) *TableListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3764,13 +3899,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TableListCall) IfNoneMatch(entityTag string) *TableListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableListCall) Context(ctx context.Context) *TableListCall {
 	c.ctx_ = ctx
 	return c
@@ -3778,14 +3913,24 @@
 
 func (c *TableListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3861,18 +4006,18 @@
 // method id "fusiontables.table.patch":
 
 type TablePatchCall struct {
-	s          *Service
-	tableId    string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	table   *Table
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates an existing table. Unless explicitly requested, only
 // the name, description, and attribution will be updated. This method
 // supports patch semantics.
 func (r *TableService) Patch(tableId string, table *Table) *TablePatchCall {
-	c := &TablePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.table = table
 	return c
@@ -3883,21 +4028,21 @@
 // The specified view definition replaces the existing one. Only a view
 // can be updated with a new definition.
 func (c *TablePatchCall) ReplaceViewDefinition(replaceViewDefinition bool) *TablePatchCall {
-	c.urlParams_.Set("replaceViewDefinition", fmt.Sprintf("%v", replaceViewDefinition))
+	c.opt_["replaceViewDefinition"] = replaceViewDefinition
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablePatchCall) Fields(s ...googleapi.Field) *TablePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablePatchCall) Context(ctx context.Context) *TablePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3910,9 +4055,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["replaceViewDefinition"]; ok {
+		params.Set("replaceViewDefinition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -3997,17 +4149,17 @@
 // method id "fusiontables.table.update":
 
 type TableUpdateCall struct {
-	s          *Service
-	tableId    string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	table   *Table
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates an existing table. Unless explicitly requested, only
 // the name, description, and attribution will be updated.
 func (r *TableService) Update(tableId string, table *Table) *TableUpdateCall {
-	c := &TableUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.table = table
 	return c
@@ -4018,21 +4170,21 @@
 // The specified view definition replaces the existing one. Only a view
 // can be updated with a new definition.
 func (c *TableUpdateCall) ReplaceViewDefinition(replaceViewDefinition bool) *TableUpdateCall {
-	c.urlParams_.Set("replaceViewDefinition", fmt.Sprintf("%v", replaceViewDefinition))
+	c.opt_["replaceViewDefinition"] = replaceViewDefinition
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableUpdateCall) Fields(s ...googleapi.Field) *TableUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableUpdateCall) Context(ctx context.Context) *TableUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4045,9 +4197,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["replaceViewDefinition"]; ok {
+		params.Set("replaceViewDefinition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -4132,32 +4291,32 @@
 // method id "fusiontables.task.delete":
 
 type TaskDeleteCall struct {
-	s          *Service
-	tableId    string
-	taskId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	taskId  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes the task, unless already started.
 func (r *TaskService) Delete(tableId string, taskId string) *TaskDeleteCall {
-	c := &TaskDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.taskId = taskId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskDeleteCall) Fields(s ...googleapi.Field) *TaskDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskDeleteCall) Context(ctx context.Context) *TaskDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4165,9 +4324,13 @@
 
 func (c *TaskDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/tasks/{taskId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -4223,27 +4386,26 @@
 // method id "fusiontables.task.get":
 
 type TaskGetCall struct {
-	s            *Service
-	tableId      string
-	taskId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	taskId  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieves a specific task by its id.
 func (r *TaskService) Get(tableId string, taskId string) *TaskGetCall {
-	c := &TaskGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.taskId = taskId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskGetCall) Fields(s ...googleapi.Field) *TaskGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4253,13 +4415,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TaskGetCall) IfNoneMatch(entityTag string) *TaskGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskGetCall) Context(ctx context.Context) *TaskGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4267,17 +4429,21 @@
 
 func (c *TaskGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/tasks/{taskId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 		"taskId":  c.taskId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4356,16 +4522,15 @@
 // method id "fusiontables.task.list":
 
 type TaskListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of tasks.
 func (r *TaskService) List(tableId string) *TaskListCall {
-	c := &TaskListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -4373,27 +4538,27 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of columns to return.  Default is 5.
 func (c *TaskListCall) MaxResults(maxResults int64) *TaskListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken":
 func (c *TaskListCall) PageToken(pageToken string) *TaskListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex":
 func (c *TaskListCall) StartIndex(startIndex int64) *TaskListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskListCall) Fields(s ...googleapi.Field) *TaskListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4403,13 +4568,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TaskListCall) IfNoneMatch(entityTag string) *TaskListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskListCall) Context(ctx context.Context) *TaskListCall {
 	c.ctx_ = ctx
 	return c
@@ -4417,16 +4582,29 @@
 
 func (c *TaskListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4518,29 +4696,29 @@
 	s          *Service
 	tableId    string
 	templateId int64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a template
 func (r *TemplateService) Delete(tableId string, templateId int64) *TemplateDeleteCall {
-	c := &TemplateDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateDeleteCall) Fields(s ...googleapi.Field) *TemplateDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateDeleteCall) Context(ctx context.Context) *TemplateDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4548,9 +4726,13 @@
 
 func (c *TemplateDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
@@ -4608,27 +4790,26 @@
 // method id "fusiontables.template.get":
 
 type TemplateGetCall struct {
-	s            *Service
-	tableId      string
-	templateId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	tableId    string
+	templateId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves a specific template by its id
 func (r *TemplateService) Get(tableId string, templateId int64) *TemplateGetCall {
-	c := &TemplateGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateGetCall) Fields(s ...googleapi.Field) *TemplateGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4638,13 +4819,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TemplateGetCall) IfNoneMatch(entityTag string) *TemplateGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateGetCall) Context(ctx context.Context) *TemplateGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4652,17 +4833,21 @@
 
 func (c *TemplateGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
 		"templateId": strconv.FormatInt(c.templateId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4743,32 +4928,32 @@
 // method id "fusiontables.template.insert":
 
 type TemplateInsertCall struct {
-	s          *Service
-	tableId    string
-	template   *Template
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	template *Template
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a new template for the table.
 func (r *TemplateService) Insert(tableId string, template *Template) *TemplateInsertCall {
-	c := &TemplateInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateInsertCall) Fields(s ...googleapi.Field) *TemplateInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateInsertCall) Context(ctx context.Context) *TemplateInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4781,9 +4966,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -4863,16 +5052,15 @@
 // method id "fusiontables.template.list":
 
 type TemplateListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of templates.
 func (r *TemplateService) List(tableId string) *TemplateListCall {
-	c := &TemplateListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -4880,22 +5068,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of templates to return.  Default is 5.
 func (c *TemplateListCall) MaxResults(maxResults int64) *TemplateListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which results page to return.
 func (c *TemplateListCall) PageToken(pageToken string) *TemplateListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateListCall) Fields(s ...googleapi.Field) *TemplateListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4905,13 +5093,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TemplateListCall) IfNoneMatch(entityTag string) *TemplateListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateListCall) Context(ctx context.Context) *TemplateListCall {
 	c.ctx_ = ctx
 	return c
@@ -4919,16 +5107,26 @@
 
 func (c *TemplateListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5017,31 +5215,31 @@
 	tableId    string
 	templateId int64
 	template   *Template
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing template. This method supports patch
 // semantics.
 func (r *TemplateService) Patch(tableId string, templateId int64, template *Template) *TemplatePatchCall {
-	c := &TemplatePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplatePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplatePatchCall) Fields(s ...googleapi.Field) *TemplatePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplatePatchCall) Context(ctx context.Context) *TemplatePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5054,9 +5252,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
@@ -5149,30 +5351,30 @@
 	tableId    string
 	templateId int64
 	template   *Template
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing template
 func (r *TemplateService) Update(tableId string, templateId int64, template *Template) *TemplateUpdateCall {
-	c := &TemplateUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateUpdateCall) Fields(s ...googleapi.Field) *TemplateUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateUpdateCall) Context(ctx context.Context) *TemplateUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5185,9 +5387,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
diff --git a/fusiontables/v2/fusiontables-gen.go b/fusiontables/v2/fusiontables-gen.go
index 728ed9c..e683725 100644
--- a/fusiontables/v2/fusiontables-gen.go
+++ b/fusiontables/v2/fusiontables-gen.go
@@ -1018,32 +1018,32 @@
 // method id "fusiontables.column.delete":
 
 type ColumnDeleteCall struct {
-	s          *Service
-	tableId    string
-	columnId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the specified column.
 func (r *ColumnService) Delete(tableId string, columnId string) *ColumnDeleteCall {
-	c := &ColumnDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnDeleteCall) Fields(s ...googleapi.Field) *ColumnDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnDeleteCall) Context(ctx context.Context) *ColumnDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1051,9 +1051,13 @@
 
 func (c *ColumnDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
@@ -1110,27 +1114,26 @@
 // method id "fusiontables.column.get":
 
 type ColumnGetCall struct {
-	s            *Service
-	tableId      string
-	columnId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a specific column by its ID.
 func (r *ColumnService) Get(tableId string, columnId string) *ColumnGetCall {
-	c := &ColumnGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnGetCall) Fields(s ...googleapi.Field) *ColumnGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1140,13 +1143,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ColumnGetCall) IfNoneMatch(entityTag string) *ColumnGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnGetCall) Context(ctx context.Context) *ColumnGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1154,17 +1157,21 @@
 
 func (c *ColumnGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
 		"columnId": c.columnId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1244,32 +1251,32 @@
 // method id "fusiontables.column.insert":
 
 type ColumnInsertCall struct {
-	s          *Service
-	tableId    string
-	column     *Column
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	column  *Column
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Adds a new column to the table.
 func (r *ColumnService) Insert(tableId string, column *Column) *ColumnInsertCall {
-	c := &ColumnInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.column = column
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnInsertCall) Fields(s ...googleapi.Field) *ColumnInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnInsertCall) Context(ctx context.Context) *ColumnInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1282,9 +1289,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -1364,16 +1375,15 @@
 // method id "fusiontables.column.list":
 
 type ColumnListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of columns.
 func (r *ColumnService) List(tableId string) *ColumnListCall {
-	c := &ColumnListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -1381,22 +1391,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of columns to return. Default is 5.
 func (c *ColumnListCall) MaxResults(maxResults int64) *ColumnListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *ColumnListCall) PageToken(pageToken string) *ColumnListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnListCall) Fields(s ...googleapi.Field) *ColumnListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1406,13 +1416,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ColumnListCall) IfNoneMatch(entityTag string) *ColumnListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnListCall) Context(ctx context.Context) *ColumnListCall {
 	c.ctx_ = ctx
 	return c
@@ -1420,16 +1430,26 @@
 
 func (c *ColumnListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1514,35 +1534,35 @@
 // method id "fusiontables.column.patch":
 
 type ColumnPatchCall struct {
-	s          *Service
-	tableId    string
-	columnId   string
-	column     *Column
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	column   *Column
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Patch: Updates the name or type of an existing column. This method
 // supports patch semantics.
 func (r *ColumnService) Patch(tableId string, columnId string, column *Column) *ColumnPatchCall {
-	c := &ColumnPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	c.column = column
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnPatchCall) Fields(s ...googleapi.Field) *ColumnPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnPatchCall) Context(ctx context.Context) *ColumnPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1555,9 +1575,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
@@ -1645,34 +1669,34 @@
 // method id "fusiontables.column.update":
 
 type ColumnUpdateCall struct {
-	s          *Service
-	tableId    string
-	columnId   string
-	column     *Column
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	columnId string
+	column   *Column
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Updates the name or type of an existing column.
 func (r *ColumnService) Update(tableId string, columnId string, column *Column) *ColumnUpdateCall {
-	c := &ColumnUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ColumnUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.columnId = columnId
 	c.column = column
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ColumnUpdateCall) Fields(s ...googleapi.Field) *ColumnUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ColumnUpdateCall) Context(ctx context.Context) *ColumnUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1685,9 +1709,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/columns/{columnId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":  c.tableId,
@@ -1775,9 +1803,10 @@
 // method id "fusiontables.query.sql":
 
 type QuerySqlCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	sql  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Sql: Executes a Fusion Tables SQL statement, which can be any of
@@ -1789,15 +1818,15 @@
 // - DESCRIBE
 // - CREATE statement.
 func (r *QueryService) Sql(sql string) *QuerySqlCall {
-	c := &QuerySqlCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("sql", sql)
+	c := &QuerySqlCall{s: r.s, opt_: make(map[string]interface{})}
+	c.sql = sql
 	return c
 }
 
 // Hdrs sets the optional parameter "hdrs": Whether column names are
 // included in the first row. Default is true.
 func (c *QuerySqlCall) Hdrs(hdrs bool) *QuerySqlCall {
-	c.urlParams_.Set("hdrs", fmt.Sprintf("%v", hdrs))
+	c.opt_["hdrs"] = hdrs
 	return c
 }
 
@@ -1805,21 +1834,21 @@
 // returned in the (JSON) response: numbers for numeric values and
 // parsed geometries for KML values. Default is true.
 func (c *QuerySqlCall) Typed(typed bool) *QuerySqlCall {
-	c.urlParams_.Set("typed", fmt.Sprintf("%v", typed))
+	c.opt_["typed"] = typed
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuerySqlCall) Fields(s ...googleapi.Field) *QuerySqlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuerySqlCall) Context(ctx context.Context) *QuerySqlCall {
 	c.ctx_ = ctx
 	return c
@@ -1827,9 +1856,20 @@
 
 func (c *QuerySqlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sql", fmt.Sprintf("%v", c.sql))
+	if v, ok := c.opt_["hdrs"]; ok {
+		params.Set("hdrs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["typed"]; ok {
+		params.Set("typed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1930,10 +1970,10 @@
 // method id "fusiontables.query.sqlGet":
 
 type QuerySqlGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	sql  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // SqlGet: Executes a SQL statement which can be any of
@@ -1941,15 +1981,15 @@
 // - SHOW
 // - DESCRIBE
 func (r *QueryService) SqlGet(sql string) *QuerySqlGetCall {
-	c := &QuerySqlGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("sql", sql)
+	c := &QuerySqlGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.sql = sql
 	return c
 }
 
 // Hdrs sets the optional parameter "hdrs": Whether column names are
 // included (in the first row). Default is true.
 func (c *QuerySqlGetCall) Hdrs(hdrs bool) *QuerySqlGetCall {
-	c.urlParams_.Set("hdrs", fmt.Sprintf("%v", hdrs))
+	c.opt_["hdrs"] = hdrs
 	return c
 }
 
@@ -1957,15 +1997,15 @@
 // returned in the (JSON) response: numbers for numeric values and
 // parsed geometries for KML values. Default is true.
 func (c *QuerySqlGetCall) Typed(typed bool) *QuerySqlGetCall {
-	c.urlParams_.Set("typed", fmt.Sprintf("%v", typed))
+	c.opt_["typed"] = typed
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuerySqlGetCall) Fields(s ...googleapi.Field) *QuerySqlGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1975,13 +2015,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *QuerySqlGetCall) IfNoneMatch(entityTag string) *QuerySqlGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuerySqlGetCall) Context(ctx context.Context) *QuerySqlGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1989,14 +2029,25 @@
 
 func (c *QuerySqlGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("sql", fmt.Sprintf("%v", c.sql))
+	if v, ok := c.opt_["hdrs"]; ok {
+		params.Set("hdrs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["typed"]; ok {
+		params.Set("typed", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2095,32 +2146,32 @@
 // method id "fusiontables.style.delete":
 
 type StyleDeleteCall struct {
-	s          *Service
-	tableId    string
-	styleId    int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	styleId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes a style.
 func (r *StyleService) Delete(tableId string, styleId int64) *StyleDeleteCall {
-	c := &StyleDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleDeleteCall) Fields(s ...googleapi.Field) *StyleDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleDeleteCall) Context(ctx context.Context) *StyleDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2128,9 +2179,13 @@
 
 func (c *StyleDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2188,27 +2243,26 @@
 // method id "fusiontables.style.get":
 
 type StyleGetCall struct {
-	s            *Service
-	tableId      string
-	styleId      int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	styleId int64
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Gets a specific style.
 func (r *StyleService) Get(tableId string, styleId int64) *StyleGetCall {
-	c := &StyleGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleGetCall) Fields(s ...googleapi.Field) *StyleGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2218,13 +2272,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *StyleGetCall) IfNoneMatch(entityTag string) *StyleGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleGetCall) Context(ctx context.Context) *StyleGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2232,17 +2286,21 @@
 
 func (c *StyleGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 		"styleId": strconv.FormatInt(c.styleId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2326,29 +2384,29 @@
 	s            *Service
 	tableId      string
 	stylesetting *StyleSetting
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Adds a new style for the table.
 func (r *StyleService) Insert(tableId string, stylesetting *StyleSetting) *StyleInsertCall {
-	c := &StyleInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.stylesetting = stylesetting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleInsertCall) Fields(s ...googleapi.Field) *StyleInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleInsertCall) Context(ctx context.Context) *StyleInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2361,9 +2419,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2443,16 +2505,15 @@
 // method id "fusiontables.style.list":
 
 type StyleListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of styles.
 func (r *StyleService) List(tableId string) *StyleListCall {
-	c := &StyleListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -2460,22 +2521,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of styles to return.  Default is 5.
 func (c *StyleListCall) MaxResults(maxResults int64) *StyleListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *StyleListCall) PageToken(pageToken string) *StyleListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleListCall) Fields(s ...googleapi.Field) *StyleListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2485,13 +2546,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *StyleListCall) IfNoneMatch(entityTag string) *StyleListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleListCall) Context(ctx context.Context) *StyleListCall {
 	c.ctx_ = ctx
 	return c
@@ -2499,16 +2560,26 @@
 
 func (c *StyleListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2597,31 +2668,31 @@
 	tableId      string
 	styleId      int64
 	stylesetting *StyleSetting
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates an existing style. This method supports patch
 // semantics.
 func (r *StyleService) Patch(tableId string, styleId int64, stylesetting *StyleSetting) *StylePatchCall {
-	c := &StylePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StylePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	c.stylesetting = stylesetting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StylePatchCall) Fields(s ...googleapi.Field) *StylePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StylePatchCall) Context(ctx context.Context) *StylePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2634,9 +2705,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2729,30 +2804,30 @@
 	tableId      string
 	styleId      int64
 	stylesetting *StyleSetting
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates an existing style.
 func (r *StyleService) Update(tableId string, styleId int64, stylesetting *StyleSetting) *StyleUpdateCall {
-	c := &StyleUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &StyleUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.styleId = styleId
 	c.stylesetting = stylesetting
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *StyleUpdateCall) Fields(s ...googleapi.Field) *StyleUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *StyleUpdateCall) Context(ctx context.Context) *StyleUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2765,9 +2840,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/styles/{styleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2856,15 +2935,15 @@
 // method id "fusiontables.table.copy":
 
 type TableCopyCall struct {
-	s          *Service
-	tableId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Copy: Copies a table.
 func (r *TableService) Copy(tableId string) *TableCopyCall {
-	c := &TableCopyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableCopyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -2872,21 +2951,21 @@
 // CopyPresentation sets the optional parameter "copyPresentation":
 // Whether to also copy tabs, styles, and templates. Default is false.
 func (c *TableCopyCall) CopyPresentation(copyPresentation bool) *TableCopyCall {
-	c.urlParams_.Set("copyPresentation", fmt.Sprintf("%v", copyPresentation))
+	c.opt_["copyPresentation"] = copyPresentation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableCopyCall) Fields(s ...googleapi.Field) *TableCopyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableCopyCall) Context(ctx context.Context) *TableCopyCall {
 	c.ctx_ = ctx
 	return c
@@ -2894,9 +2973,16 @@
 
 func (c *TableCopyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["copyPresentation"]; ok {
+		params.Set("copyPresentation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/copy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -2978,30 +3064,30 @@
 // method id "fusiontables.table.delete":
 
 type TableDeleteCall struct {
-	s          *Service
-	tableId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes a table.
 func (r *TableService) Delete(tableId string) *TableDeleteCall {
-	c := &TableDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableDeleteCall) Fields(s ...googleapi.Field) *TableDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableDeleteCall) Context(ctx context.Context) *TableDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3009,9 +3095,13 @@
 
 func (c *TableDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -3060,25 +3150,24 @@
 // method id "fusiontables.table.get":
 
 type TableGetCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieves a specific table by its ID.
 func (r *TableService) Get(tableId string) *TableGetCall {
-	c := &TableGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableGetCall) Fields(s ...googleapi.Field) *TableGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3088,13 +3177,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TableGetCall) IfNoneMatch(entityTag string) *TableGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableGetCall) Context(ctx context.Context) *TableGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3102,16 +3191,20 @@
 
 func (c *TableGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3184,20 +3277,19 @@
 // method id "fusiontables.table.importRows":
 
 type TableImportRowsCall struct {
-	s                *Service
-	tableId          string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	tableId    string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // ImportRows: Imports more rows into a table.
 func (r *TableService) ImportRows(tableId string) *TableImportRowsCall {
-	c := &TableImportRowsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableImportRowsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -3206,7 +3298,7 @@
 // to separate cell values. This can only consist of a single character.
 // Default is ,.
 func (c *TableImportRowsCall) Delimiter(delimiter string) *TableImportRowsCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -3214,7 +3306,7 @@
 // content. Default is UTF-8. Use auto-detect if you are unsure of the
 // encoding.
 func (c *TableImportRowsCall) Encoding(encoding string) *TableImportRowsCall {
-	c.urlParams_.Set("encoding", encoding)
+	c.opt_["encoding"] = encoding
 	return c
 }
 
@@ -3223,7 +3315,7 @@
 // file. If endLine is negative, it is an offset from the end of the
 // file; the imported content will exclude the last endLine lines.
 func (c *TableImportRowsCall) EndLine(endLine int64) *TableImportRowsCall {
-	c.urlParams_.Set("endLine", fmt.Sprintf("%v", endLine))
+	c.opt_["endLine"] = endLine
 	return c
 }
 
@@ -3231,31 +3323,31 @@
 // CSV must have the same number of values for each row. If false, rows
 // with fewer values will be padded with empty values. Default is true.
 func (c *TableImportRowsCall) IsStrict(isStrict bool) *TableImportRowsCall {
-	c.urlParams_.Set("isStrict", fmt.Sprintf("%v", isStrict))
+	c.opt_["isStrict"] = isStrict
 	return c
 }
 
 // StartLine sets the optional parameter "startLine": The index of the
 // first line from which to start importing, inclusive. Default is 0.
 func (c *TableImportRowsCall) StartLine(startLine int64) *TableImportRowsCall {
-	c.urlParams_.Set("startLine", fmt.Sprintf("%v", startLine))
+	c.opt_["startLine"] = startLine
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TableImportRowsCall) Media(r io.Reader) *TableImportRowsCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TableImportRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportRowsCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3264,28 +3356,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TableImportRowsCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportRowsCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableImportRowsCall) Fields(s ...googleapi.Field) *TableImportRowsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TableImportRowsCall) Context(ctx context.Context) *TableImportRowsCall {
 	c.ctx_ = ctx
 	return c
@@ -3293,13 +3384,32 @@
 
 func (c *TableImportRowsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["encoding"]; ok {
+		params.Set("encoding", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endLine"]; ok {
+		params.Set("endLine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["isStrict"]; ok {
+		params.Set("isStrict", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startLine"]; ok {
+		params.Set("startLine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/import")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -3354,6 +3464,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3363,7 +3479,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3454,20 +3570,20 @@
 // method id "fusiontables.table.importTable":
 
 type TableImportTableCall struct {
-	s                *Service
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	name       string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // ImportTable: Imports a new table.
 func (r *TableService) ImportTable(name string) *TableImportTableCall {
-	c := &TableImportTableCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("name", name)
+	c := &TableImportTableCall{s: r.s, opt_: make(map[string]interface{})}
+	c.name = name
 	return c
 }
 
@@ -3475,7 +3591,7 @@
 // to separate cell values. This can only consist of a single character.
 // Default is ,.
 func (c *TableImportTableCall) Delimiter(delimiter string) *TableImportTableCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -3483,24 +3599,24 @@
 // content. Default is UTF-8. Use auto-detect if you are unsure of the
 // encoding.
 func (c *TableImportTableCall) Encoding(encoding string) *TableImportTableCall {
-	c.urlParams_.Set("encoding", encoding)
+	c.opt_["encoding"] = encoding
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TableImportTableCall) Media(r io.Reader) *TableImportTableCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TableImportTableCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportTableCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3509,28 +3625,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TableImportTableCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportTableCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableImportTableCall) Fields(s ...googleapi.Field) *TableImportTableCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TableImportTableCall) Context(ctx context.Context) *TableImportTableCall {
 	c.ctx_ = ctx
 	return c
@@ -3538,13 +3653,24 @@
 
 func (c *TableImportTableCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("name", fmt.Sprintf("%v", c.name))
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["encoding"]; ok {
+		params.Set("encoding", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/import")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -3597,6 +3723,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3606,7 +3738,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3680,30 +3812,30 @@
 // method id "fusiontables.table.insert":
 
 type TableInsertCall struct {
-	s          *Service
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Insert: Creates a new table.
 func (r *TableService) Insert(table *Table) *TableInsertCall {
-	c := &TableInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableInsertCall) Fields(s ...googleapi.Field) *TableInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableInsertCall) Context(ctx context.Context) *TableInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3716,9 +3848,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3785,37 +3921,36 @@
 // method id "fusiontables.table.list":
 
 type TableListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of tables a user owns.
 func (r *TableService) List() *TableListCall {
-	c := &TableListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of tables to return. Default is 5.
 func (c *TableListCall) MaxResults(maxResults int64) *TableListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *TableListCall) PageToken(pageToken string) *TableListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableListCall) Fields(s ...googleapi.Field) *TableListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3825,13 +3960,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TableListCall) IfNoneMatch(entityTag string) *TableListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableListCall) Context(ctx context.Context) *TableListCall {
 	c.ctx_ = ctx
 	return c
@@ -3839,14 +3974,24 @@
 
 func (c *TableListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3922,18 +4067,18 @@
 // method id "fusiontables.table.patch":
 
 type TablePatchCall struct {
-	s          *Service
-	tableId    string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	table   *Table
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates an existing table. Unless explicitly requested, only
 // the name, description, and attribution will be updated. This method
 // supports patch semantics.
 func (r *TableService) Patch(tableId string, table *Table) *TablePatchCall {
-	c := &TablePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.table = table
 	return c
@@ -3944,21 +4089,21 @@
 // The specified view definition replaces the existing one. Only a view
 // can be updated with a new definition.
 func (c *TablePatchCall) ReplaceViewDefinition(replaceViewDefinition bool) *TablePatchCall {
-	c.urlParams_.Set("replaceViewDefinition", fmt.Sprintf("%v", replaceViewDefinition))
+	c.opt_["replaceViewDefinition"] = replaceViewDefinition
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablePatchCall) Fields(s ...googleapi.Field) *TablePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablePatchCall) Context(ctx context.Context) *TablePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3971,9 +4116,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["replaceViewDefinition"]; ok {
+		params.Set("replaceViewDefinition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -4058,21 +4210,20 @@
 // method id "fusiontables.table.replaceRows":
 
 type TableReplaceRowsCall struct {
-	s                *Service
-	tableId          string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	tableId    string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // ReplaceRows: Replaces rows of an existing table. Current rows remain
 // visible until all replacement rows are ready.
 func (r *TableService) ReplaceRows(tableId string) *TableReplaceRowsCall {
-	c := &TableReplaceRowsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableReplaceRowsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -4081,7 +4232,7 @@
 // to separate cell values. This can only consist of a single character.
 // Default is ,.
 func (c *TableReplaceRowsCall) Delimiter(delimiter string) *TableReplaceRowsCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -4089,7 +4240,7 @@
 // content. Default is UTF-8. Use 'auto-detect' if you are unsure of the
 // encoding.
 func (c *TableReplaceRowsCall) Encoding(encoding string) *TableReplaceRowsCall {
-	c.urlParams_.Set("encoding", encoding)
+	c.opt_["encoding"] = encoding
 	return c
 }
 
@@ -4098,7 +4249,7 @@
 // file. If endLine is negative, it is an offset from the end of the
 // file; the imported content will exclude the last endLine lines.
 func (c *TableReplaceRowsCall) EndLine(endLine int64) *TableReplaceRowsCall {
-	c.urlParams_.Set("endLine", fmt.Sprintf("%v", endLine))
+	c.opt_["endLine"] = endLine
 	return c
 }
 
@@ -4108,31 +4259,31 @@
 // columns. If false, rows with fewer column values will be padded with
 // empty values. Default is true.
 func (c *TableReplaceRowsCall) IsStrict(isStrict bool) *TableReplaceRowsCall {
-	c.urlParams_.Set("isStrict", fmt.Sprintf("%v", isStrict))
+	c.opt_["isStrict"] = isStrict
 	return c
 }
 
 // StartLine sets the optional parameter "startLine": The index of the
 // first line from which to start importing, inclusive. Default is 0.
 func (c *TableReplaceRowsCall) StartLine(startLine int64) *TableReplaceRowsCall {
-	c.urlParams_.Set("startLine", fmt.Sprintf("%v", startLine))
+	c.opt_["startLine"] = startLine
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TableReplaceRowsCall) Media(r io.Reader) *TableReplaceRowsCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TableReplaceRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableReplaceRowsCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -4141,28 +4292,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TableReplaceRowsCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableReplaceRowsCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableReplaceRowsCall) Fields(s ...googleapi.Field) *TableReplaceRowsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TableReplaceRowsCall) Context(ctx context.Context) *TableReplaceRowsCall {
 	c.ctx_ = ctx
 	return c
@@ -4170,13 +4320,32 @@
 
 func (c *TableReplaceRowsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["encoding"]; ok {
+		params.Set("encoding", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endLine"]; ok {
+		params.Set("endLine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["isStrict"]; ok {
+		params.Set("isStrict", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startLine"]; ok {
+		params.Set("startLine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/replace")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -4231,6 +4400,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -4240,7 +4415,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -4331,17 +4506,17 @@
 // method id "fusiontables.table.update":
 
 type TableUpdateCall struct {
-	s          *Service
-	tableId    string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	table   *Table
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates an existing table. Unless explicitly requested, only
 // the name, description, and attribution will be updated.
 func (r *TableService) Update(tableId string, table *Table) *TableUpdateCall {
-	c := &TableUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TableUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.table = table
 	return c
@@ -4352,21 +4527,21 @@
 // The specified view definition replaces the existing one. Only a view
 // can be updated with a new definition.
 func (c *TableUpdateCall) ReplaceViewDefinition(replaceViewDefinition bool) *TableUpdateCall {
-	c.urlParams_.Set("replaceViewDefinition", fmt.Sprintf("%v", replaceViewDefinition))
+	c.opt_["replaceViewDefinition"] = replaceViewDefinition
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TableUpdateCall) Fields(s ...googleapi.Field) *TableUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TableUpdateCall) Context(ctx context.Context) *TableUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4379,9 +4554,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["replaceViewDefinition"]; ok {
+		params.Set("replaceViewDefinition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -4466,33 +4648,33 @@
 // method id "fusiontables.task.delete":
 
 type TaskDeleteCall struct {
-	s          *Service
-	tableId    string
-	taskId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	tableId string
+	taskId  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Deletes a specific task by its ID, unless that task has
 // already started running.
 func (r *TaskService) Delete(tableId string, taskId string) *TaskDeleteCall {
-	c := &TaskDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.taskId = taskId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskDeleteCall) Fields(s ...googleapi.Field) *TaskDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskDeleteCall) Context(ctx context.Context) *TaskDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4500,9 +4682,13 @@
 
 func (c *TaskDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/tasks/{taskId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -4559,27 +4745,26 @@
 // method id "fusiontables.task.get":
 
 type TaskGetCall struct {
-	s            *Service
-	tableId      string
-	taskId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	taskId  string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieves a specific task by its ID.
 func (r *TaskService) Get(tableId string, taskId string) *TaskGetCall {
-	c := &TaskGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.taskId = taskId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskGetCall) Fields(s ...googleapi.Field) *TaskGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4589,13 +4774,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TaskGetCall) IfNoneMatch(entityTag string) *TaskGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskGetCall) Context(ctx context.Context) *TaskGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4603,17 +4788,21 @@
 
 func (c *TaskGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/tasks/{taskId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 		"taskId":  c.taskId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4693,16 +4882,15 @@
 // method id "fusiontables.task.list":
 
 type TaskListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of tasks.
 func (r *TaskService) List(tableId string) *TaskListCall {
-	c := &TaskListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -4710,29 +4898,29 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of tasks to return. Default is 5.
 func (c *TaskListCall) MaxResults(maxResults int64) *TaskListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which result page to return.
 func (c *TaskListCall) PageToken(pageToken string) *TaskListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Index of the
 // first result returned in the current page.
 func (c *TaskListCall) StartIndex(startIndex int64) *TaskListCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskListCall) Fields(s ...googleapi.Field) *TaskListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4742,13 +4930,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TaskListCall) IfNoneMatch(entityTag string) *TaskListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskListCall) Context(ctx context.Context) *TaskListCall {
 	c.ctx_ = ctx
 	return c
@@ -4756,16 +4944,29 @@
 
 func (c *TaskListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4859,29 +5060,29 @@
 	s          *Service
 	tableId    string
 	templateId int64
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a template
 func (r *TemplateService) Delete(tableId string, templateId int64) *TemplateDeleteCall {
-	c := &TemplateDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateDeleteCall) Fields(s ...googleapi.Field) *TemplateDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateDeleteCall) Context(ctx context.Context) *TemplateDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4889,9 +5090,13 @@
 
 func (c *TemplateDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
@@ -4949,27 +5154,26 @@
 // method id "fusiontables.template.get":
 
 type TemplateGetCall struct {
-	s            *Service
-	tableId      string
-	templateId   int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	tableId    string
+	templateId int64
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves a specific template by its id
 func (r *TemplateService) Get(tableId string, templateId int64) *TemplateGetCall {
-	c := &TemplateGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateGetCall) Fields(s ...googleapi.Field) *TemplateGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4979,13 +5183,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TemplateGetCall) IfNoneMatch(entityTag string) *TemplateGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateGetCall) Context(ctx context.Context) *TemplateGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4993,17 +5197,21 @@
 
 func (c *TemplateGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
 		"templateId": strconv.FormatInt(c.templateId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5084,32 +5292,32 @@
 // method id "fusiontables.template.insert":
 
 type TemplateInsertCall struct {
-	s          *Service
-	tableId    string
-	template   *Template
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tableId  string
+	template *Template
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a new template for the table.
 func (r *TemplateService) Insert(tableId string, template *Template) *TemplateInsertCall {
-	c := &TemplateInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateInsertCall) Fields(s ...googleapi.Field) *TemplateInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateInsertCall) Context(ctx context.Context) *TemplateInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5122,9 +5330,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
@@ -5204,16 +5416,15 @@
 // method id "fusiontables.template.list":
 
 type TemplateListCall struct {
-	s            *Service
-	tableId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves a list of templates.
 func (r *TemplateService) List(tableId string) *TemplateListCall {
-	c := &TemplateListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	return c
 }
@@ -5221,22 +5432,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of templates to return.  Default is 5.
 func (c *TemplateListCall) MaxResults(maxResults int64) *TemplateListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // specifying which results page to return.
 func (c *TemplateListCall) PageToken(pageToken string) *TemplateListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateListCall) Fields(s ...googleapi.Field) *TemplateListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5246,13 +5457,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TemplateListCall) IfNoneMatch(entityTag string) *TemplateListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateListCall) Context(ctx context.Context) *TemplateListCall {
 	c.ctx_ = ctx
 	return c
@@ -5260,16 +5471,26 @@
 
 func (c *TemplateListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5358,31 +5579,31 @@
 	tableId    string
 	templateId int64
 	template   *Template
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates an existing template. This method supports patch
 // semantics.
 func (r *TemplateService) Patch(tableId string, templateId int64, template *Template) *TemplatePatchCall {
-	c := &TemplatePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplatePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplatePatchCall) Fields(s ...googleapi.Field) *TemplatePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplatePatchCall) Context(ctx context.Context) *TemplatePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5395,9 +5616,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
@@ -5490,30 +5715,30 @@
 	tableId    string
 	templateId int64
 	template   *Template
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates an existing template
 func (r *TemplateService) Update(tableId string, templateId int64, template *Template) *TemplateUpdateCall {
-	c := &TemplateUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplateUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.templateId = templateId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplateUpdateCall) Fields(s ...googleapi.Field) *TemplateUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplateUpdateCall) Context(ctx context.Context) *TemplateUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5526,9 +5751,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/templates/{templateId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId":    c.tableId,
diff --git a/games/v1/games-gen.go b/games/v1/games-gen.go
index d33366d..b5f9fa7 100644
--- a/games/v1/games-gen.go
+++ b/games/v1/games-gen.go
@@ -4122,22 +4122,21 @@
 // method id "games.achievementDefinitions.list":
 
 type AchievementDefinitionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all the achievement definitions for your application.
 func (r *AchievementDefinitionsService) List() *AchievementDefinitionsListCall {
-	c := &AchievementDefinitionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementDefinitionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *AchievementDefinitionsListCall) Language(language string) *AchievementDefinitionsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -4146,22 +4145,22 @@
 // paging. For any response, the actual number of achievement resources
 // returned may be less than the specified maxResults.
 func (c *AchievementDefinitionsListCall) MaxResults(maxResults int64) *AchievementDefinitionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AchievementDefinitionsListCall) PageToken(pageToken string) *AchievementDefinitionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementDefinitionsListCall) Fields(s ...googleapi.Field) *AchievementDefinitionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4171,13 +4170,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AchievementDefinitionsListCall) IfNoneMatch(entityTag string) *AchievementDefinitionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementDefinitionsListCall) Context(ctx context.Context) *AchievementDefinitionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4185,14 +4184,27 @@
 
 func (c *AchievementDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4275,18 +4287,19 @@
 // method id "games.achievements.increment":
 
 type AchievementsIncrementCall struct {
-	s             *Service
-	achievementId string
-	urlParams_    internal.URLParams
-	ctx_          context.Context
+	s                *Service
+	achievementId    string
+	stepsToIncrement int64
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // Increment: Increments the steps of the achievement with the given ID
 // for the currently authenticated player.
 func (r *AchievementsService) Increment(achievementId string, stepsToIncrement int64) *AchievementsIncrementCall {
-	c := &AchievementsIncrementCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsIncrementCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
-	c.urlParams_.Set("stepsToIncrement", fmt.Sprintf("%v", stepsToIncrement))
+	c.stepsToIncrement = stepsToIncrement
 	return c
 }
 
@@ -4295,21 +4308,21 @@
 // number is used at the server to ensure that the request is handled
 // correctly across retries.
 func (c *AchievementsIncrementCall) RequestId(requestId int64) *AchievementsIncrementCall {
-	c.urlParams_.Set("requestId", fmt.Sprintf("%v", requestId))
+	c.opt_["requestId"] = requestId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsIncrementCall) Fields(s ...googleapi.Field) *AchievementsIncrementCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsIncrementCall) Context(ctx context.Context) *AchievementsIncrementCall {
 	c.ctx_ = ctx
 	return c
@@ -4317,9 +4330,17 @@
 
 func (c *AchievementsIncrementCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("stepsToIncrement", fmt.Sprintf("%v", c.stepsToIncrement))
+	if v, ok := c.opt_["requestId"]; ok {
+		params.Set("requestId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}/increment")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -4411,17 +4432,16 @@
 // method id "games.achievements.list":
 
 type AchievementsListCall struct {
-	s            *Service
-	playerId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	playerId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists the progress for all your application's achievements for
 // the currently authenticated player.
 func (r *AchievementsService) List(playerId string) *AchievementsListCall {
-	c := &AchievementsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerId = playerId
 	return c
 }
@@ -4429,7 +4449,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *AchievementsListCall) Language(language string) *AchievementsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -4438,14 +4458,14 @@
 // paging. For any response, the actual number of achievement resources
 // returned may be less than the specified maxResults.
 func (c *AchievementsListCall) MaxResults(maxResults int64) *AchievementsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AchievementsListCall) PageToken(pageToken string) *AchievementsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4459,15 +4479,15 @@
 //   "REVEALED" - List only revealed achievements.
 //   "UNLOCKED" - List only unlocked achievements.
 func (c *AchievementsListCall) State(state string) *AchievementsListCall {
-	c.urlParams_.Set("state", state)
+	c.opt_["state"] = state
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsListCall) Fields(s ...googleapi.Field) *AchievementsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4477,13 +4497,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AchievementsListCall) IfNoneMatch(entityTag string) *AchievementsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsListCall) Context(ctx context.Context) *AchievementsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4491,16 +4511,32 @@
 
 func (c *AchievementsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["state"]; ok {
+		params.Set("state", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/{playerId}/achievements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"playerId": c.playerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4610,29 +4646,29 @@
 type AchievementsRevealCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Reveal: Sets the state of the achievement with the given ID to
 // REVEALED for the currently authenticated player.
 func (r *AchievementsService) Reveal(achievementId string) *AchievementsRevealCall {
-	c := &AchievementsRevealCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsRevealCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsRevealCall) Fields(s ...googleapi.Field) *AchievementsRevealCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsRevealCall) Context(ctx context.Context) *AchievementsRevealCall {
 	c.ctx_ = ctx
 	return c
@@ -4640,9 +4676,13 @@
 
 func (c *AchievementsRevealCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}/reveal")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -4721,7 +4761,8 @@
 type AchievementsSetStepsAtLeastCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
+	steps         int64
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -4730,23 +4771,23 @@
 // less than the current number of steps that the player already gained
 // for the achievement, the achievement is not modified.
 func (r *AchievementsService) SetStepsAtLeast(achievementId string, steps int64) *AchievementsSetStepsAtLeastCall {
-	c := &AchievementsSetStepsAtLeastCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsSetStepsAtLeastCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
-	c.urlParams_.Set("steps", fmt.Sprintf("%v", steps))
+	c.steps = steps
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsSetStepsAtLeastCall) Fields(s ...googleapi.Field) *AchievementsSetStepsAtLeastCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsSetStepsAtLeastCall) Context(ctx context.Context) *AchievementsSetStepsAtLeastCall {
 	c.ctx_ = ctx
 	return c
@@ -4754,9 +4795,14 @@
 
 func (c *AchievementsSetStepsAtLeastCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("steps", fmt.Sprintf("%v", c.steps))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}/setStepsAtLeast")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -4845,29 +4891,29 @@
 type AchievementsUnlockCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Unlock: Unlocks this achievement for the currently authenticated
 // player.
 func (r *AchievementsService) Unlock(achievementId string) *AchievementsUnlockCall {
-	c := &AchievementsUnlockCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsUnlockCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsUnlockCall) Fields(s ...googleapi.Field) *AchievementsUnlockCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsUnlockCall) Context(ctx context.Context) *AchievementsUnlockCall {
 	c.ctx_ = ctx
 	return c
@@ -4875,9 +4921,13 @@
 
 func (c *AchievementsUnlockCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}/unlock")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -4956,29 +5006,29 @@
 type AchievementsUpdateMultipleCall struct {
 	s                                *Service
 	achievementupdatemultiplerequest *AchievementUpdateMultipleRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
 // UpdateMultiple: Updates multiple achievements for the currently
 // authenticated player.
 func (r *AchievementsService) UpdateMultiple(achievementupdatemultiplerequest *AchievementUpdateMultipleRequest) *AchievementsUpdateMultipleCall {
-	c := &AchievementsUpdateMultipleCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsUpdateMultipleCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementupdatemultiplerequest = achievementupdatemultiplerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsUpdateMultipleCall) Fields(s ...googleapi.Field) *AchievementsUpdateMultipleCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsUpdateMultipleCall) Context(ctx context.Context) *AchievementsUpdateMultipleCall {
 	c.ctx_ = ctx
 	return c
@@ -4991,9 +5041,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/updateMultiple")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5064,8 +5118,7 @@
 type ApplicationsGetCall struct {
 	s             *Service
 	applicationId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -5074,7 +5127,7 @@
 // platformType, the returned response will not include any instance
 // data.
 func (r *ApplicationsService) Get(applicationId string) *ApplicationsGetCall {
-	c := &ApplicationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApplicationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	return c
 }
@@ -5082,7 +5135,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *ApplicationsGetCall) Language(language string) *ApplicationsGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -5095,15 +5148,15 @@
 //   "WEB_APP" - Retrieve applications that can be played on desktop
 // web.
 func (c *ApplicationsGetCall) PlatformType(platformType string) *ApplicationsGetCall {
-	c.urlParams_.Set("platformType", platformType)
+	c.opt_["platformType"] = platformType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApplicationsGetCall) Fields(s ...googleapi.Field) *ApplicationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5113,13 +5166,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ApplicationsGetCall) IfNoneMatch(entityTag string) *ApplicationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApplicationsGetCall) Context(ctx context.Context) *ApplicationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5127,16 +5180,26 @@
 
 func (c *ApplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["platformType"]; ok {
+		params.Set("platformType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5229,29 +5292,29 @@
 // method id "games.applications.played":
 
 type ApplicationsPlayedCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Played: Indicate that the the currently authenticated user is playing
 // your application.
 func (r *ApplicationsService) Played() *ApplicationsPlayedCall {
-	c := &ApplicationsPlayedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApplicationsPlayedCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApplicationsPlayedCall) Fields(s ...googleapi.Field) *ApplicationsPlayedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApplicationsPlayedCall) Context(ctx context.Context) *ApplicationsPlayedCall {
 	c.ctx_ = ctx
 	return c
@@ -5259,9 +5322,13 @@
 
 func (c *ApplicationsPlayedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/played")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -5298,23 +5365,22 @@
 // method id "games.events.listByPlayer":
 
 type EventsListByPlayerCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListByPlayer: Returns a list showing the current progress on events
 // in this application for the currently authenticated user.
 func (r *EventsService) ListByPlayer() *EventsListByPlayerCall {
-	c := &EventsListByPlayerCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsListByPlayerCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *EventsListByPlayerCall) Language(language string) *EventsListByPlayerCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -5323,22 +5389,22 @@
 // response, the actual number of events to return may be less than the
 // specified maxResults.
 func (c *EventsListByPlayerCall) MaxResults(maxResults int64) *EventsListByPlayerCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *EventsListByPlayerCall) PageToken(pageToken string) *EventsListByPlayerCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsListByPlayerCall) Fields(s ...googleapi.Field) *EventsListByPlayerCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5348,13 +5414,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventsListByPlayerCall) IfNoneMatch(entityTag string) *EventsListByPlayerCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsListByPlayerCall) Context(ctx context.Context) *EventsListByPlayerCall {
 	c.ctx_ = ctx
 	return c
@@ -5362,14 +5428,27 @@
 
 func (c *EventsListByPlayerCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5451,23 +5530,22 @@
 // method id "games.events.listDefinitions":
 
 type EventsListDefinitionsCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListDefinitions: Returns a list of the event definitions in this
 // application.
 func (r *EventsService) ListDefinitions() *EventsListDefinitionsCall {
-	c := &EventsListDefinitionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsListDefinitionsCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *EventsListDefinitionsCall) Language(language string) *EventsListDefinitionsCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -5476,22 +5554,22 @@
 // paging. For any response, the actual number of event definitions to
 // return may be less than the specified maxResults.
 func (c *EventsListDefinitionsCall) MaxResults(maxResults int64) *EventsListDefinitionsCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *EventsListDefinitionsCall) PageToken(pageToken string) *EventsListDefinitionsCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsListDefinitionsCall) Fields(s ...googleapi.Field) *EventsListDefinitionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5501,13 +5579,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventsListDefinitionsCall) IfNoneMatch(entityTag string) *EventsListDefinitionsCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsListDefinitionsCall) Context(ctx context.Context) *EventsListDefinitionsCall {
 	c.ctx_ = ctx
 	return c
@@ -5515,14 +5593,27 @@
 
 func (c *EventsListDefinitionsCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "eventDefinitions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5606,14 +5697,14 @@
 type EventsRecordCall struct {
 	s                  *Service
 	eventrecordrequest *EventRecordRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Record: Records a batch of changes to the number of times events have
 // occurred for the currently authenticated user of this application.
 func (r *EventsService) Record(eventrecordrequest *EventRecordRequest) *EventsRecordCall {
-	c := &EventsRecordCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsRecordCall{s: r.s, opt_: make(map[string]interface{})}
 	c.eventrecordrequest = eventrecordrequest
 	return c
 }
@@ -5621,21 +5712,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *EventsRecordCall) Language(language string) *EventsRecordCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsRecordCall) Fields(s ...googleapi.Field) *EventsRecordCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsRecordCall) Context(ctx context.Context) *EventsRecordCall {
 	c.ctx_ = ctx
 	return c
@@ -5648,9 +5739,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5727,14 +5825,13 @@
 type LeaderboardsGetCall struct {
 	s             *Service
 	leaderboardId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Retrieves the metadata of the leaderboard with the given ID.
 func (r *LeaderboardsService) Get(leaderboardId string) *LeaderboardsGetCall {
-	c := &LeaderboardsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	return c
 }
@@ -5742,15 +5839,15 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *LeaderboardsGetCall) Language(language string) *LeaderboardsGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardsGetCall) Fields(s ...googleapi.Field) *LeaderboardsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5760,13 +5857,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LeaderboardsGetCall) IfNoneMatch(entityTag string) *LeaderboardsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardsGetCall) Context(ctx context.Context) *LeaderboardsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5774,16 +5871,23 @@
 
 func (c *LeaderboardsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5861,22 +5965,21 @@
 // method id "games.leaderboards.list":
 
 type LeaderboardsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all the leaderboard metadata for your application.
 func (r *LeaderboardsService) List() *LeaderboardsListCall {
-	c := &LeaderboardsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *LeaderboardsListCall) Language(language string) *LeaderboardsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -5885,22 +5988,22 @@
 // the actual number of leaderboards returned may be less than the
 // specified maxResults.
 func (c *LeaderboardsListCall) MaxResults(maxResults int64) *LeaderboardsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *LeaderboardsListCall) PageToken(pageToken string) *LeaderboardsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardsListCall) Fields(s ...googleapi.Field) *LeaderboardsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5910,13 +6013,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LeaderboardsListCall) IfNoneMatch(entityTag string) *LeaderboardsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardsListCall) Context(ctx context.Context) *LeaderboardsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5924,14 +6027,27 @@
 
 func (c *LeaderboardsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6013,24 +6129,23 @@
 // method id "games.metagame.getMetagameConfig":
 
 type MetagameGetMetagameConfigCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetMetagameConfig: Return the metagame configuration data for the
 // calling application.
 func (r *MetagameService) GetMetagameConfig() *MetagameGetMetagameConfigCall {
-	c := &MetagameGetMetagameConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetagameGetMetagameConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetagameGetMetagameConfigCall) Fields(s ...googleapi.Field) *MetagameGetMetagameConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6040,13 +6155,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetagameGetMetagameConfigCall) IfNoneMatch(entityTag string) *MetagameGetMetagameConfigCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetagameGetMetagameConfigCall) Context(ctx context.Context) *MetagameGetMetagameConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -6054,14 +6169,18 @@
 
 func (c *MetagameGetMetagameConfigCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "metagameConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6123,18 +6242,17 @@
 // method id "games.metagame.listCategoriesByPlayer":
 
 type MetagameListCategoriesByPlayerCall struct {
-	s            *Service
-	playerId     string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	playerId   string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // ListCategoriesByPlayer: List play data aggregated per category for
 // the player corresponding to playerId.
 func (r *MetagameService) ListCategoriesByPlayer(playerId string, collection string) *MetagameListCategoriesByPlayerCall {
-	c := &MetagameListCategoriesByPlayerCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetagameListCategoriesByPlayerCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerId = playerId
 	c.collection = collection
 	return c
@@ -6143,7 +6261,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *MetagameListCategoriesByPlayerCall) Language(language string) *MetagameListCategoriesByPlayerCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -6152,22 +6270,22 @@
 // paging. For any response, the actual number of category resources
 // returned may be less than the specified maxResults.
 func (c *MetagameListCategoriesByPlayerCall) MaxResults(maxResults int64) *MetagameListCategoriesByPlayerCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *MetagameListCategoriesByPlayerCall) PageToken(pageToken string) *MetagameListCategoriesByPlayerCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetagameListCategoriesByPlayerCall) Fields(s ...googleapi.Field) *MetagameListCategoriesByPlayerCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6177,13 +6295,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetagameListCategoriesByPlayerCall) IfNoneMatch(entityTag string) *MetagameListCategoriesByPlayerCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetagameListCategoriesByPlayerCall) Context(ctx context.Context) *MetagameListCategoriesByPlayerCall {
 	c.ctx_ = ctx
 	return c
@@ -6191,17 +6309,30 @@
 
 func (c *MetagameListCategoriesByPlayerCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/{playerId}/categories/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"playerId":   c.playerId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6305,17 +6436,16 @@
 // method id "games.players.get":
 
 type PlayersGetCall struct {
-	s            *Service
-	playerId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	playerId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves the Player resource with the given ID. To retrieve the
 // player for the currently authenticated user, set playerId to me.
 func (r *PlayersService) Get(playerId string) *PlayersGetCall {
-	c := &PlayersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlayersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerId = playerId
 	return c
 }
@@ -6323,15 +6453,15 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *PlayersGetCall) Language(language string) *PlayersGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlayersGetCall) Fields(s ...googleapi.Field) *PlayersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6341,13 +6471,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlayersGetCall) IfNoneMatch(entityTag string) *PlayersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlayersGetCall) Context(ctx context.Context) *PlayersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6355,16 +6485,23 @@
 
 func (c *PlayersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/{playerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"playerId": c.playerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6442,17 +6579,16 @@
 // method id "games.players.list":
 
 type PlayersListCall struct {
-	s            *Service
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Get the collection of players for the currently authenticated
 // user.
 func (r *PlayersService) List(collection string) *PlayersListCall {
-	c := &PlayersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlayersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.collection = collection
 	return c
 }
@@ -6460,7 +6596,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *PlayersListCall) Language(language string) *PlayersListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -6469,22 +6605,22 @@
 // paging. For any response, the actual number of player resources
 // returned may be less than the specified maxResults.
 func (c *PlayersListCall) MaxResults(maxResults int64) *PlayersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *PlayersListCall) PageToken(pageToken string) *PlayersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlayersListCall) Fields(s ...googleapi.Field) *PlayersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6494,13 +6630,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlayersListCall) IfNoneMatch(entityTag string) *PlayersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlayersListCall) Context(ctx context.Context) *PlayersListCall {
 	c.ctx_ = ctx
 	return c
@@ -6508,16 +6644,29 @@
 
 func (c *PlayersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/me/players/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6618,29 +6767,29 @@
 type PushtokensRemoveCall struct {
 	s           *Service
 	pushtokenid *PushTokenId
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Remove: Removes a push token for the current user and application.
 // Removing a non-existent push token will report success.
 func (r *PushtokensService) Remove(pushtokenid *PushTokenId) *PushtokensRemoveCall {
-	c := &PushtokensRemoveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PushtokensRemoveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pushtokenid = pushtokenid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PushtokensRemoveCall) Fields(s ...googleapi.Field) *PushtokensRemoveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PushtokensRemoveCall) Context(ctx context.Context) *PushtokensRemoveCall {
 	c.ctx_ = ctx
 	return c
@@ -6653,9 +6802,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pushtokens/remove")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6696,30 +6849,30 @@
 // method id "games.pushtokens.update":
 
 type PushtokensUpdateCall struct {
-	s          *Service
-	pushtoken  *PushToken
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	pushtoken *PushToken
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Registers a push token for the current user and application.
 func (r *PushtokensService) Update(pushtoken *PushToken) *PushtokensUpdateCall {
-	c := &PushtokensUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PushtokensUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pushtoken = pushtoken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PushtokensUpdateCall) Fields(s ...googleapi.Field) *PushtokensUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PushtokensUpdateCall) Context(ctx context.Context) *PushtokensUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6732,9 +6885,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "pushtokens")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6778,7 +6935,8 @@
 	s           *Service
 	questId     string
 	milestoneId string
-	urlParams_  internal.URLParams
+	requestId   int64
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -6786,24 +6944,24 @@
 // milestoneId for the quest corresponding to questId has been claimed
 // by the currently authorized user.
 func (r *QuestMilestonesService) Claim(questId string, milestoneId string, requestId int64) *QuestMilestonesClaimCall {
-	c := &QuestMilestonesClaimCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestMilestonesClaimCall{s: r.s, opt_: make(map[string]interface{})}
 	c.questId = questId
 	c.milestoneId = milestoneId
-	c.urlParams_.Set("requestId", fmt.Sprintf("%v", requestId))
+	c.requestId = requestId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestMilestonesClaimCall) Fields(s ...googleapi.Field) *QuestMilestonesClaimCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestMilestonesClaimCall) Context(ctx context.Context) *QuestMilestonesClaimCall {
 	c.ctx_ = ctx
 	return c
@@ -6811,9 +6969,14 @@
 
 func (c *QuestMilestonesClaimCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("requestId", fmt.Sprintf("%v", c.requestId))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/{questId}/milestones/{milestoneId}/claim")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"questId":     c.questId,
@@ -6879,16 +7042,16 @@
 // method id "games.quests.accept":
 
 type QuestsAcceptCall struct {
-	s          *Service
-	questId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	questId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Accept: Indicates that the currently authorized user will participate
 // in the quest.
 func (r *QuestsService) Accept(questId string) *QuestsAcceptCall {
-	c := &QuestsAcceptCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsAcceptCall{s: r.s, opt_: make(map[string]interface{})}
 	c.questId = questId
 	return c
 }
@@ -6896,21 +7059,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *QuestsAcceptCall) Language(language string) *QuestsAcceptCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsAcceptCall) Fields(s ...googleapi.Field) *QuestsAcceptCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsAcceptCall) Context(ctx context.Context) *QuestsAcceptCall {
 	c.ctx_ = ctx
 	return c
@@ -6918,9 +7081,16 @@
 
 func (c *QuestsAcceptCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/{questId}/accept")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"questId": c.questId,
@@ -7002,17 +7172,16 @@
 // method id "games.quests.list":
 
 type QuestsListCall struct {
-	s            *Service
-	playerId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	playerId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Get a list of quests for your application and the currently
 // authenticated player.
 func (r *QuestsService) List(playerId string) *QuestsListCall {
-	c := &QuestsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerId = playerId
 	return c
 }
@@ -7020,7 +7189,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *QuestsListCall) Language(language string) *QuestsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -7030,22 +7199,22 @@
 // be less than the specified maxResults. Acceptable values are 1 to 50,
 // inclusive. (Default: 50).
 func (c *QuestsListCall) MaxResults(maxResults int64) *QuestsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *QuestsListCall) PageToken(pageToken string) *QuestsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsListCall) Fields(s ...googleapi.Field) *QuestsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7055,13 +7224,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *QuestsListCall) IfNoneMatch(entityTag string) *QuestsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsListCall) Context(ctx context.Context) *QuestsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7069,16 +7238,29 @@
 
 func (c *QuestsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/{playerId}/quests")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"playerId": c.playerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7169,24 +7351,24 @@
 // method id "games.revisions.check":
 
 type RevisionsCheckCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s              *Service
+	clientRevision string
+	opt_           map[string]interface{}
+	ctx_           context.Context
 }
 
 // Check: Checks whether the games client is out of date.
 func (r *RevisionsService) Check(clientRevision string) *RevisionsCheckCall {
-	c := &RevisionsCheckCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("clientRevision", clientRevision)
+	c := &RevisionsCheckCall{s: r.s, opt_: make(map[string]interface{})}
+	c.clientRevision = clientRevision
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RevisionsCheckCall) Fields(s ...googleapi.Field) *RevisionsCheckCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7196,13 +7378,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RevisionsCheckCall) IfNoneMatch(entityTag string) *RevisionsCheckCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RevisionsCheckCall) Context(ctx context.Context) *RevisionsCheckCall {
 	c.ctx_ = ctx
 	return c
@@ -7210,14 +7392,19 @@
 
 func (c *RevisionsCheckCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("clientRevision", fmt.Sprintf("%v", c.clientRevision))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "revisions/check")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7292,14 +7479,14 @@
 type RoomsCreateCall struct {
 	s                 *Service
 	roomcreaterequest *RoomCreateRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Create: Create a room. For internal use by the Games SDK only.
 // Calling this method directly is unsupported.
 func (r *RoomsService) Create(roomcreaterequest *RoomCreateRequest) *RoomsCreateCall {
-	c := &RoomsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomcreaterequest = roomcreaterequest
 	return c
 }
@@ -7307,21 +7494,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsCreateCall) Language(language string) *RoomsCreateCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsCreateCall) Fields(s ...googleapi.Field) *RoomsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsCreateCall) Context(ctx context.Context) *RoomsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -7334,9 +7521,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/create")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7411,16 +7605,16 @@
 // method id "games.rooms.decline":
 
 type RoomsDeclineCall struct {
-	s          *Service
-	roomId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	roomId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Decline: Decline an invitation to join a room. For internal use by
 // the Games SDK only. Calling this method directly is unsupported.
 func (r *RoomsService) Decline(roomId string) *RoomsDeclineCall {
-	c := &RoomsDeclineCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsDeclineCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomId = roomId
 	return c
 }
@@ -7428,21 +7622,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsDeclineCall) Language(language string) *RoomsDeclineCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsDeclineCall) Fields(s ...googleapi.Field) *RoomsDeclineCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsDeclineCall) Context(ctx context.Context) *RoomsDeclineCall {
 	c.ctx_ = ctx
 	return c
@@ -7450,9 +7644,16 @@
 
 func (c *RoomsDeclineCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/{roomId}/decline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"roomId": c.roomId,
@@ -7534,31 +7735,31 @@
 // method id "games.rooms.dismiss":
 
 type RoomsDismissCall struct {
-	s          *Service
-	roomId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	roomId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Dismiss: Dismiss an invitation to join a room. For internal use by
 // the Games SDK only. Calling this method directly is unsupported.
 func (r *RoomsService) Dismiss(roomId string) *RoomsDismissCall {
-	c := &RoomsDismissCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsDismissCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomId = roomId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsDismissCall) Fields(s ...googleapi.Field) *RoomsDismissCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsDismissCall) Context(ctx context.Context) *RoomsDismissCall {
 	c.ctx_ = ctx
 	return c
@@ -7566,9 +7767,13 @@
 
 func (c *RoomsDismissCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/{roomId}/dismiss")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"roomId": c.roomId,
@@ -7618,16 +7823,15 @@
 // method id "games.rooms.get":
 
 type RoomsGetCall struct {
-	s            *Service
-	roomId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	roomId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get the data for a room.
 func (r *RoomsService) Get(roomId string) *RoomsGetCall {
-	c := &RoomsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomId = roomId
 	return c
 }
@@ -7635,15 +7839,15 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsGetCall) Language(language string) *RoomsGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsGetCall) Fields(s ...googleapi.Field) *RoomsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7653,13 +7857,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RoomsGetCall) IfNoneMatch(entityTag string) *RoomsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsGetCall) Context(ctx context.Context) *RoomsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7667,16 +7871,23 @@
 
 func (c *RoomsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/{roomId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"roomId": c.roomId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7757,14 +7968,14 @@
 	s               *Service
 	roomId          string
 	roomjoinrequest *RoomJoinRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Join: Join a room. For internal use by the Games SDK only. Calling
 // this method directly is unsupported.
 func (r *RoomsService) Join(roomId string, roomjoinrequest *RoomJoinRequest) *RoomsJoinCall {
-	c := &RoomsJoinCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsJoinCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomId = roomId
 	c.roomjoinrequest = roomjoinrequest
 	return c
@@ -7773,21 +7984,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsJoinCall) Language(language string) *RoomsJoinCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsJoinCall) Fields(s ...googleapi.Field) *RoomsJoinCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsJoinCall) Context(ctx context.Context) *RoomsJoinCall {
 	c.ctx_ = ctx
 	return c
@@ -7800,9 +8011,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/{roomId}/join")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"roomId": c.roomId,
@@ -7891,14 +8109,14 @@
 	s                *Service
 	roomId           string
 	roomleaverequest *RoomLeaveRequest
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Leave: Leave a room. For internal use by the Games SDK only. Calling
 // this method directly is unsupported.
 func (r *RoomsService) Leave(roomId string, roomleaverequest *RoomLeaveRequest) *RoomsLeaveCall {
-	c := &RoomsLeaveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsLeaveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomId = roomId
 	c.roomleaverequest = roomleaverequest
 	return c
@@ -7907,21 +8125,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsLeaveCall) Language(language string) *RoomsLeaveCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsLeaveCall) Fields(s ...googleapi.Field) *RoomsLeaveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsLeaveCall) Context(ctx context.Context) *RoomsLeaveCall {
 	c.ctx_ = ctx
 	return c
@@ -7934,9 +8152,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/{roomId}/leave")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"roomId": c.roomId,
@@ -8022,22 +8247,21 @@
 // method id "games.rooms.list":
 
 type RoomsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns invitations to join rooms.
 func (r *RoomsService) List() *RoomsListCall {
-	c := &RoomsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsListCall) Language(language string) *RoomsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -8046,22 +8270,22 @@
 // response, the actual number of rooms to return may be less than the
 // specified maxResults.
 func (c *RoomsListCall) MaxResults(maxResults int64) *RoomsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *RoomsListCall) PageToken(pageToken string) *RoomsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsListCall) Fields(s ...googleapi.Field) *RoomsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8071,13 +8295,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RoomsListCall) IfNoneMatch(entityTag string) *RoomsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsListCall) Context(ctx context.Context) *RoomsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8085,14 +8309,27 @@
 
 func (c *RoomsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8177,7 +8414,7 @@
 	s               *Service
 	roomId          string
 	roomp2pstatuses *RoomP2PStatuses
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -8185,7 +8422,7 @@
 // in a room. For internal use by the Games SDK only. Calling this
 // method directly is unsupported.
 func (r *RoomsService) ReportStatus(roomId string, roomp2pstatuses *RoomP2PStatuses) *RoomsReportStatusCall {
-	c := &RoomsReportStatusCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsReportStatusCall{s: r.s, opt_: make(map[string]interface{})}
 	c.roomId = roomId
 	c.roomp2pstatuses = roomp2pstatuses
 	return c
@@ -8194,21 +8431,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *RoomsReportStatusCall) Language(language string) *RoomsReportStatusCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsReportStatusCall) Fields(s ...googleapi.Field) *RoomsReportStatusCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsReportStatusCall) Context(ctx context.Context) *RoomsReportStatusCall {
 	c.ctx_ = ctx
 	return c
@@ -8221,9 +8458,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/{roomId}/reportstatus")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"roomId": c.roomId,
@@ -8313,8 +8557,7 @@
 	playerId      string
 	leaderboardId string
 	timeSpan      string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -8325,7 +8568,7 @@
 // NOTE: You cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in
 // the same request; only one parameter may be set to 'ALL'.
 func (r *ScoresService) Get(playerId string, leaderboardId string, timeSpan string) *ScoresGetCall {
-	c := &ScoresGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerId = playerId
 	c.leaderboardId = leaderboardId
 	c.timeSpan = timeSpan
@@ -8342,14 +8585,14 @@
 // gameplay activity publicly.
 //   "SOCIAL" - Retrieve the social rank.
 func (c *ScoresGetCall) IncludeRankType(includeRankType string) *ScoresGetCall {
-	c.urlParams_.Set("includeRankType", includeRankType)
+	c.opt_["includeRankType"] = includeRankType
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *ScoresGetCall) Language(language string) *ScoresGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -8358,22 +8601,22 @@
 // response, the actual number of leaderboard scores returned may be
 // less than the specified maxResults.
 func (c *ScoresGetCall) MaxResults(maxResults int64) *ScoresGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *ScoresGetCall) PageToken(pageToken string) *ScoresGetCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresGetCall) Fields(s ...googleapi.Field) *ScoresGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8383,13 +8626,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ScoresGetCall) IfNoneMatch(entityTag string) *ScoresGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresGetCall) Context(ctx context.Context) *ScoresGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8397,9 +8640,25 @@
 
 func (c *ScoresGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeRankType"]; ok {
+		params.Set("includeRankType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"playerId":      c.playerId,
@@ -8407,8 +8666,8 @@
 		"timeSpan":      c.timeSpan,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8544,24 +8803,24 @@
 	s             *Service
 	leaderboardId string
 	collection    string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	timeSpan      string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists the scores in a leaderboard, starting from the top.
 func (r *ScoresService) List(leaderboardId string, collection string, timeSpan string) *ScoresListCall {
-	c := &ScoresListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	c.collection = collection
-	c.urlParams_.Set("timeSpan", timeSpan)
+	c.timeSpan = timeSpan
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *ScoresListCall) Language(language string) *ScoresListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -8570,22 +8829,22 @@
 // response, the actual number of leaderboard scores returned may be
 // less than the specified maxResults.
 func (c *ScoresListCall) MaxResults(maxResults int64) *ScoresListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *ScoresListCall) PageToken(pageToken string) *ScoresListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresListCall) Fields(s ...googleapi.Field) *ScoresListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8595,13 +8854,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ScoresListCall) IfNoneMatch(entityTag string) *ScoresListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresListCall) Context(ctx context.Context) *ScoresListCall {
 	c.ctx_ = ctx
 	return c
@@ -8609,17 +8868,31 @@
 
 func (c *ScoresListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("timeSpan", fmt.Sprintf("%v", c.timeSpan))
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}/scores/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
 		"collection":    c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8745,25 +9018,25 @@
 	s             *Service
 	leaderboardId string
 	collection    string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	timeSpan      string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // ListWindow: Lists the scores in a leaderboard around (and including)
 // a player's score.
 func (r *ScoresService) ListWindow(leaderboardId string, collection string, timeSpan string) *ScoresListWindowCall {
-	c := &ScoresListWindowCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresListWindowCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	c.collection = collection
-	c.urlParams_.Set("timeSpan", timeSpan)
+	c.timeSpan = timeSpan
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *ScoresListWindowCall) Language(language string) *ScoresListWindowCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -8772,14 +9045,14 @@
 // response, the actual number of leaderboard scores returned may be
 // less than the specified maxResults.
 func (c *ScoresListWindowCall) MaxResults(maxResults int64) *ScoresListWindowCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *ScoresListWindowCall) PageToken(pageToken string) *ScoresListWindowCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -8789,7 +9062,7 @@
 // leaderboard; fewer may be returned if the player is at the top. Must
 // be less than or equal to maxResults.
 func (c *ScoresListWindowCall) ResultsAbove(resultsAbove int64) *ScoresListWindowCall {
-	c.urlParams_.Set("resultsAbove", fmt.Sprintf("%v", resultsAbove))
+	c.opt_["resultsAbove"] = resultsAbove
 	return c
 }
 
@@ -8797,15 +9070,15 @@
 // True if the top scores should be returned when the player is not in
 // the leaderboard. Defaults to true.
 func (c *ScoresListWindowCall) ReturnTopIfAbsent(returnTopIfAbsent bool) *ScoresListWindowCall {
-	c.urlParams_.Set("returnTopIfAbsent", fmt.Sprintf("%v", returnTopIfAbsent))
+	c.opt_["returnTopIfAbsent"] = returnTopIfAbsent
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresListWindowCall) Fields(s ...googleapi.Field) *ScoresListWindowCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8815,13 +9088,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ScoresListWindowCall) IfNoneMatch(entityTag string) *ScoresListWindowCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresListWindowCall) Context(ctx context.Context) *ScoresListWindowCall {
 	c.ctx_ = ctx
 	return c
@@ -8829,17 +9102,37 @@
 
 func (c *ScoresListWindowCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("timeSpan", fmt.Sprintf("%v", c.timeSpan))
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["resultsAbove"]; ok {
+		params.Set("resultsAbove", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["returnTopIfAbsent"]; ok {
+		params.Set("returnTopIfAbsent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}/window/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
 		"collection":    c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8975,22 +9268,23 @@
 type ScoresSubmitCall struct {
 	s             *Service
 	leaderboardId string
-	urlParams_    internal.URLParams
+	score         int64
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Submit: Submits a score to the specified leaderboard.
 func (r *ScoresService) Submit(leaderboardId string, score int64) *ScoresSubmitCall {
-	c := &ScoresSubmitCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresSubmitCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
-	c.urlParams_.Set("score", fmt.Sprintf("%v", score))
+	c.score = score
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *ScoresSubmitCall) Language(language string) *ScoresSubmitCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -8999,21 +9293,21 @@
 // more than 64 URI-safe characters as defined by section 2.3 of RFC
 // 3986.
 func (c *ScoresSubmitCall) ScoreTag(scoreTag string) *ScoresSubmitCall {
-	c.urlParams_.Set("scoreTag", scoreTag)
+	c.opt_["scoreTag"] = scoreTag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresSubmitCall) Fields(s ...googleapi.Field) *ScoresSubmitCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresSubmitCall) Context(ctx context.Context) *ScoresSubmitCall {
 	c.ctx_ = ctx
 	return c
@@ -9021,9 +9315,20 @@
 
 func (c *ScoresSubmitCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("score", fmt.Sprintf("%v", c.score))
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["scoreTag"]; ok {
+		params.Set("scoreTag", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}/scores")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
@@ -9121,13 +9426,13 @@
 type ScoresSubmitMultipleCall struct {
 	s                         *Service
 	playerscoresubmissionlist *PlayerScoreSubmissionList
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // SubmitMultiple: Submits multiple scores to leaderboards.
 func (r *ScoresService) SubmitMultiple(playerscoresubmissionlist *PlayerScoreSubmissionList) *ScoresSubmitMultipleCall {
-	c := &ScoresSubmitMultipleCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresSubmitMultipleCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerscoresubmissionlist = playerscoresubmissionlist
 	return c
 }
@@ -9135,21 +9440,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *ScoresSubmitMultipleCall) Language(language string) *ScoresSubmitMultipleCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresSubmitMultipleCall) Fields(s ...googleapi.Field) *ScoresSubmitMultipleCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresSubmitMultipleCall) Context(ctx context.Context) *ScoresSubmitMultipleCall {
 	c.ctx_ = ctx
 	return c
@@ -9162,9 +9467,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/scores")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9239,16 +9551,15 @@
 // method id "games.snapshots.get":
 
 type SnapshotsGetCall struct {
-	s            *Service
-	snapshotId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	snapshotId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves the metadata for a given snapshot ID.
 func (r *SnapshotsService) Get(snapshotId string) *SnapshotsGetCall {
-	c := &SnapshotsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.snapshotId = snapshotId
 	return c
 }
@@ -9256,15 +9567,15 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *SnapshotsGetCall) Language(language string) *SnapshotsGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsGetCall) Fields(s ...googleapi.Field) *SnapshotsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9274,13 +9585,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SnapshotsGetCall) IfNoneMatch(entityTag string) *SnapshotsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsGetCall) Context(ctx context.Context) *SnapshotsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9288,16 +9599,23 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "snapshots/{snapshotId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"snapshotId": c.snapshotId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9376,17 +9694,16 @@
 // method id "games.snapshots.list":
 
 type SnapshotsListCall struct {
-	s            *Service
-	playerId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	playerId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Retrieves a list of snapshots created by your application for
 // the player corresponding to the player ID.
 func (r *SnapshotsService) List(playerId string) *SnapshotsListCall {
-	c := &SnapshotsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SnapshotsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.playerId = playerId
 	return c
 }
@@ -9394,7 +9711,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *SnapshotsListCall) Language(language string) *SnapshotsListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -9403,22 +9720,22 @@
 // paging. For any response, the actual number of snapshot resources
 // returned may be less than the specified maxResults.
 func (c *SnapshotsListCall) MaxResults(maxResults int64) *SnapshotsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *SnapshotsListCall) PageToken(pageToken string) *SnapshotsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SnapshotsListCall) Fields(s ...googleapi.Field) *SnapshotsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9428,13 +9745,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SnapshotsListCall) IfNoneMatch(entityTag string) *SnapshotsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SnapshotsListCall) Context(ctx context.Context) *SnapshotsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9442,16 +9759,29 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "players/{playerId}/snapshots")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"playerId": c.playerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9543,30 +9873,30 @@
 // method id "games.turnBasedMatches.cancel":
 
 type TurnBasedMatchesCancelCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Cancel: Cancel a turn-based match.
 func (r *TurnBasedMatchesService) Cancel(matchId string) *TurnBasedMatchesCancelCall {
-	c := &TurnBasedMatchesCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesCancelCall) Fields(s ...googleapi.Field) *TurnBasedMatchesCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesCancelCall) Context(ctx context.Context) *TurnBasedMatchesCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -9574,9 +9904,13 @@
 
 func (c *TurnBasedMatchesCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -9628,13 +9962,13 @@
 type TurnBasedMatchesCreateCall struct {
 	s                           *Service
 	turnbasedmatchcreaterequest *TurnBasedMatchCreateRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // Create: Create a turn-based match.
 func (r *TurnBasedMatchesService) Create(turnbasedmatchcreaterequest *TurnBasedMatchCreateRequest) *TurnBasedMatchesCreateCall {
-	c := &TurnBasedMatchesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.turnbasedmatchcreaterequest = turnbasedmatchcreaterequest
 	return c
 }
@@ -9642,21 +9976,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesCreateCall) Language(language string) *TurnBasedMatchesCreateCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesCreateCall) Fields(s ...googleapi.Field) *TurnBasedMatchesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesCreateCall) Context(ctx context.Context) *TurnBasedMatchesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -9669,9 +10003,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/create")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9746,15 +10087,15 @@
 // method id "games.turnBasedMatches.decline":
 
 type TurnBasedMatchesDeclineCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Decline: Decline an invitation to play a turn-based match.
 func (r *TurnBasedMatchesService) Decline(matchId string) *TurnBasedMatchesDeclineCall {
-	c := &TurnBasedMatchesDeclineCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesDeclineCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
@@ -9762,21 +10103,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesDeclineCall) Language(language string) *TurnBasedMatchesDeclineCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesDeclineCall) Fields(s ...googleapi.Field) *TurnBasedMatchesDeclineCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesDeclineCall) Context(ctx context.Context) *TurnBasedMatchesDeclineCall {
 	c.ctx_ = ctx
 	return c
@@ -9784,9 +10125,16 @@
 
 func (c *TurnBasedMatchesDeclineCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/decline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -9868,32 +10216,32 @@
 // method id "games.turnBasedMatches.dismiss":
 
 type TurnBasedMatchesDismissCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Dismiss: Dismiss a turn-based match from the match list. The match
 // will no longer show up in the list and will not generate
 // notifications.
 func (r *TurnBasedMatchesService) Dismiss(matchId string) *TurnBasedMatchesDismissCall {
-	c := &TurnBasedMatchesDismissCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesDismissCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesDismissCall) Fields(s ...googleapi.Field) *TurnBasedMatchesDismissCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesDismissCall) Context(ctx context.Context) *TurnBasedMatchesDismissCall {
 	c.ctx_ = ctx
 	return c
@@ -9901,9 +10249,13 @@
 
 func (c *TurnBasedMatchesDismissCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/dismiss")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -9956,7 +10308,7 @@
 	s                     *Service
 	matchId               string
 	turnbasedmatchresults *TurnBasedMatchResults
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -9964,7 +10316,7 @@
 // once, after all results are in. Only the player whose turn it is may
 // make the first call to Finish, and can pass in the final match state.
 func (r *TurnBasedMatchesService) Finish(matchId string, turnbasedmatchresults *TurnBasedMatchResults) *TurnBasedMatchesFinishCall {
-	c := &TurnBasedMatchesFinishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesFinishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	c.turnbasedmatchresults = turnbasedmatchresults
 	return c
@@ -9973,21 +10325,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesFinishCall) Language(language string) *TurnBasedMatchesFinishCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesFinishCall) Fields(s ...googleapi.Field) *TurnBasedMatchesFinishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesFinishCall) Context(ctx context.Context) *TurnBasedMatchesFinishCall {
 	c.ctx_ = ctx
 	return c
@@ -10000,9 +10352,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/finish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -10088,16 +10447,15 @@
 // method id "games.turnBasedMatches.get":
 
 type TurnBasedMatchesGetCall struct {
-	s            *Service
-	matchId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Get the data for a turn-based match.
 func (r *TurnBasedMatchesService) Get(matchId string) *TurnBasedMatchesGetCall {
-	c := &TurnBasedMatchesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
@@ -10105,22 +10463,22 @@
 // IncludeMatchData sets the optional parameter "includeMatchData": Get
 // match data along with metadata.
 func (c *TurnBasedMatchesGetCall) IncludeMatchData(includeMatchData bool) *TurnBasedMatchesGetCall {
-	c.urlParams_.Set("includeMatchData", fmt.Sprintf("%v", includeMatchData))
+	c.opt_["includeMatchData"] = includeMatchData
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesGetCall) Language(language string) *TurnBasedMatchesGetCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesGetCall) Fields(s ...googleapi.Field) *TurnBasedMatchesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10130,13 +10488,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TurnBasedMatchesGetCall) IfNoneMatch(entityTag string) *TurnBasedMatchesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesGetCall) Context(ctx context.Context) *TurnBasedMatchesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10144,16 +10502,26 @@
 
 func (c *TurnBasedMatchesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeMatchData"]; ok {
+		params.Set("includeMatchData", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10236,15 +10604,15 @@
 // method id "games.turnBasedMatches.join":
 
 type TurnBasedMatchesJoinCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Join: Join a turn-based match.
 func (r *TurnBasedMatchesService) Join(matchId string) *TurnBasedMatchesJoinCall {
-	c := &TurnBasedMatchesJoinCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesJoinCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
@@ -10252,21 +10620,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesJoinCall) Language(language string) *TurnBasedMatchesJoinCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesJoinCall) Fields(s ...googleapi.Field) *TurnBasedMatchesJoinCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesJoinCall) Context(ctx context.Context) *TurnBasedMatchesJoinCall {
 	c.ctx_ = ctx
 	return c
@@ -10274,9 +10642,16 @@
 
 func (c *TurnBasedMatchesJoinCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/join")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -10358,16 +10733,16 @@
 // method id "games.turnBasedMatches.leave":
 
 type TurnBasedMatchesLeaveCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Leave: Leave a turn-based match when it is not the current player's
 // turn, without canceling the match.
 func (r *TurnBasedMatchesService) Leave(matchId string) *TurnBasedMatchesLeaveCall {
-	c := &TurnBasedMatchesLeaveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesLeaveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
@@ -10375,21 +10750,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesLeaveCall) Language(language string) *TurnBasedMatchesLeaveCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesLeaveCall) Fields(s ...googleapi.Field) *TurnBasedMatchesLeaveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesLeaveCall) Context(ctx context.Context) *TurnBasedMatchesLeaveCall {
 	c.ctx_ = ctx
 	return c
@@ -10397,9 +10772,16 @@
 
 func (c *TurnBasedMatchesLeaveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/leave")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -10481,25 +10863,26 @@
 // method id "games.turnBasedMatches.leaveTurn":
 
 type TurnBasedMatchesLeaveTurnCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s            *Service
+	matchId      string
+	matchVersion int64
+	opt_         map[string]interface{}
+	ctx_         context.Context
 }
 
 // LeaveTurn: Leave a turn-based match during the current player's turn,
 // without canceling the match.
 func (r *TurnBasedMatchesService) LeaveTurn(matchId string, matchVersion int64) *TurnBasedMatchesLeaveTurnCall {
-	c := &TurnBasedMatchesLeaveTurnCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesLeaveTurnCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
-	c.urlParams_.Set("matchVersion", fmt.Sprintf("%v", matchVersion))
+	c.matchVersion = matchVersion
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesLeaveTurnCall) Language(language string) *TurnBasedMatchesLeaveTurnCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -10509,21 +10892,21 @@
 // to join via automatching; this is only valid if automatch criteria is
 // set on the match with remaining slots for automatched players.
 func (c *TurnBasedMatchesLeaveTurnCall) PendingParticipantId(pendingParticipantId string) *TurnBasedMatchesLeaveTurnCall {
-	c.urlParams_.Set("pendingParticipantId", pendingParticipantId)
+	c.opt_["pendingParticipantId"] = pendingParticipantId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesLeaveTurnCall) Fields(s ...googleapi.Field) *TurnBasedMatchesLeaveTurnCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesLeaveTurnCall) Context(ctx context.Context) *TurnBasedMatchesLeaveTurnCall {
 	c.ctx_ = ctx
 	return c
@@ -10531,9 +10914,20 @@
 
 func (c *TurnBasedMatchesLeaveTurnCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("matchVersion", fmt.Sprintf("%v", c.matchVersion))
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pendingParticipantId"]; ok {
+		params.Set("pendingParticipantId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/leaveTurn")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -10628,15 +11022,14 @@
 // method id "games.turnBasedMatches.list":
 
 type TurnBasedMatchesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns turn-based matches the player is or was involved in.
 func (r *TurnBasedMatchesService) List() *TurnBasedMatchesListCall {
-	c := &TurnBasedMatchesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -10647,14 +11040,14 @@
 // limit download size for the client. The remainder of the data for
 // these matches will be retrievable on request.
 func (c *TurnBasedMatchesListCall) IncludeMatchData(includeMatchData bool) *TurnBasedMatchesListCall {
-	c.urlParams_.Set("includeMatchData", fmt.Sprintf("%v", includeMatchData))
+	c.opt_["includeMatchData"] = includeMatchData
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesListCall) Language(language string) *TurnBasedMatchesListCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -10663,7 +11056,7 @@
 // matches to return in the response. If not set, all matches returned
 // could be completed or canceled.
 func (c *TurnBasedMatchesListCall) MaxCompletedMatches(maxCompletedMatches int64) *TurnBasedMatchesListCall {
-	c.urlParams_.Set("maxCompletedMatches", fmt.Sprintf("%v", maxCompletedMatches))
+	c.opt_["maxCompletedMatches"] = maxCompletedMatches
 	return c
 }
 
@@ -10672,22 +11065,22 @@
 // response, the actual number of matches to return may be less than the
 // specified maxResults.
 func (c *TurnBasedMatchesListCall) MaxResults(maxResults int64) *TurnBasedMatchesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *TurnBasedMatchesListCall) PageToken(pageToken string) *TurnBasedMatchesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesListCall) Fields(s ...googleapi.Field) *TurnBasedMatchesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10697,13 +11090,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TurnBasedMatchesListCall) IfNoneMatch(entityTag string) *TurnBasedMatchesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesListCall) Context(ctx context.Context) *TurnBasedMatchesListCall {
 	c.ctx_ = ctx
 	return c
@@ -10711,14 +11104,33 @@
 
 func (c *TurnBasedMatchesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeMatchData"]; ok {
+		params.Set("includeMatchData", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxCompletedMatches"]; ok {
+		params.Set("maxCompletedMatches", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10813,10 +11225,10 @@
 // method id "games.turnBasedMatches.rematch":
 
 type TurnBasedMatchesRematchCall struct {
-	s          *Service
-	matchId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	matchId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Rematch: Create a rematch of a match that was previously completed,
@@ -10824,7 +11236,7 @@
 // a match still in their list; the player must have called Finish
 // first. Returns the newly created match; it will be the caller's turn.
 func (r *TurnBasedMatchesService) Rematch(matchId string) *TurnBasedMatchesRematchCall {
-	c := &TurnBasedMatchesRematchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesRematchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	return c
 }
@@ -10832,7 +11244,7 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesRematchCall) Language(language string) *TurnBasedMatchesRematchCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -10841,21 +11253,21 @@
 // number is used at the server to ensure that the request is handled
 // correctly across retries.
 func (c *TurnBasedMatchesRematchCall) RequestId(requestId int64) *TurnBasedMatchesRematchCall {
-	c.urlParams_.Set("requestId", fmt.Sprintf("%v", requestId))
+	c.opt_["requestId"] = requestId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesRematchCall) Fields(s ...googleapi.Field) *TurnBasedMatchesRematchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesRematchCall) Context(ctx context.Context) *TurnBasedMatchesRematchCall {
 	c.ctx_ = ctx
 	return c
@@ -10863,9 +11275,19 @@
 
 func (c *TurnBasedMatchesRematchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestId"]; ok {
+		params.Set("requestId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/rematch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
@@ -10953,10 +11375,9 @@
 // method id "games.turnBasedMatches.sync":
 
 type TurnBasedMatchesSyncCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Sync: Returns turn-based matches the player is or was involved in
@@ -10964,7 +11385,7 @@
 // coming first. Matches that should be removed from the local cache
 // will have a status of MATCH_DELETED.
 func (r *TurnBasedMatchesService) Sync() *TurnBasedMatchesSyncCall {
-	c := &TurnBasedMatchesSyncCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesSyncCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -10975,14 +11396,14 @@
 // limit download size for the client. The remainder of the data for
 // these matches will be retrievable on request.
 func (c *TurnBasedMatchesSyncCall) IncludeMatchData(includeMatchData bool) *TurnBasedMatchesSyncCall {
-	c.urlParams_.Set("includeMatchData", fmt.Sprintf("%v", includeMatchData))
+	c.opt_["includeMatchData"] = includeMatchData
 	return c
 }
 
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesSyncCall) Language(language string) *TurnBasedMatchesSyncCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -10991,7 +11412,7 @@
 // matches to return in the response. If not set, all matches returned
 // could be completed or canceled.
 func (c *TurnBasedMatchesSyncCall) MaxCompletedMatches(maxCompletedMatches int64) *TurnBasedMatchesSyncCall {
-	c.urlParams_.Set("maxCompletedMatches", fmt.Sprintf("%v", maxCompletedMatches))
+	c.opt_["maxCompletedMatches"] = maxCompletedMatches
 	return c
 }
 
@@ -11000,22 +11421,22 @@
 // response, the actual number of matches to return may be less than the
 // specified maxResults.
 func (c *TurnBasedMatchesSyncCall) MaxResults(maxResults int64) *TurnBasedMatchesSyncCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *TurnBasedMatchesSyncCall) PageToken(pageToken string) *TurnBasedMatchesSyncCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesSyncCall) Fields(s ...googleapi.Field) *TurnBasedMatchesSyncCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11025,13 +11446,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TurnBasedMatchesSyncCall) IfNoneMatch(entityTag string) *TurnBasedMatchesSyncCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesSyncCall) Context(ctx context.Context) *TurnBasedMatchesSyncCall {
 	c.ctx_ = ctx
 	return c
@@ -11039,14 +11460,33 @@
 
 func (c *TurnBasedMatchesSyncCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeMatchData"]; ok {
+		params.Set("includeMatchData", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxCompletedMatches"]; ok {
+		params.Set("maxCompletedMatches", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/sync")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11144,13 +11584,13 @@
 	s                  *Service
 	matchId            string
 	turnbasedmatchturn *TurnBasedMatchTurn
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // TakeTurn: Commit the results of a player turn.
 func (r *TurnBasedMatchesService) TakeTurn(matchId string, turnbasedmatchturn *TurnBasedMatchTurn) *TurnBasedMatchesTakeTurnCall {
-	c := &TurnBasedMatchesTakeTurnCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesTakeTurnCall{s: r.s, opt_: make(map[string]interface{})}
 	c.matchId = matchId
 	c.turnbasedmatchturn = turnbasedmatchturn
 	return c
@@ -11159,21 +11599,21 @@
 // Language sets the optional parameter "language": The preferred
 // language to use for strings returned by this method.
 func (c *TurnBasedMatchesTakeTurnCall) Language(language string) *TurnBasedMatchesTakeTurnCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesTakeTurnCall) Fields(s ...googleapi.Field) *TurnBasedMatchesTakeTurnCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesTakeTurnCall) Context(ctx context.Context) *TurnBasedMatchesTakeTurnCall {
 	c.ctx_ = ctx
 	return c
@@ -11186,9 +11626,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/{matchId}/turn")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"matchId": c.matchId,
diff --git a/gamesconfiguration/v1configuration/gamesconfiguration-gen.go b/gamesconfiguration/v1configuration/gamesconfiguration-gen.go
index e5dc4e6..4d3431f 100644
--- a/gamesconfiguration/v1configuration/gamesconfiguration-gen.go
+++ b/gamesconfiguration/v1configuration/gamesconfiguration-gen.go
@@ -528,28 +528,28 @@
 type AchievementConfigurationsDeleteCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Delete the achievement configuration with the given ID.
 func (r *AchievementConfigurationsService) Delete(achievementId string) *AchievementConfigurationsDeleteCall {
-	c := &AchievementConfigurationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementConfigurationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementConfigurationsDeleteCall) Fields(s ...googleapi.Field) *AchievementConfigurationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementConfigurationsDeleteCall) Context(ctx context.Context) *AchievementConfigurationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -557,9 +557,13 @@
 
 func (c *AchievementConfigurationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -610,24 +614,23 @@
 type AchievementConfigurationsGetCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Retrieves the metadata of the achievement configuration with the
 // given ID.
 func (r *AchievementConfigurationsService) Get(achievementId string) *AchievementConfigurationsGetCall {
-	c := &AchievementConfigurationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementConfigurationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementConfigurationsGetCall) Fields(s ...googleapi.Field) *AchievementConfigurationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -637,13 +640,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AchievementConfigurationsGetCall) IfNoneMatch(entityTag string) *AchievementConfigurationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementConfigurationsGetCall) Context(ctx context.Context) *AchievementConfigurationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -651,16 +654,20 @@
 
 func (c *AchievementConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -735,29 +742,29 @@
 	s                        *Service
 	applicationId            string
 	achievementconfiguration *AchievementConfiguration
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Insert: Insert a new achievement configuration in this application.
 func (r *AchievementConfigurationsService) Insert(applicationId string, achievementconfiguration *AchievementConfiguration) *AchievementConfigurationsInsertCall {
-	c := &AchievementConfigurationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementConfigurationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	c.achievementconfiguration = achievementconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementConfigurationsInsertCall) Fields(s ...googleapi.Field) *AchievementConfigurationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementConfigurationsInsertCall) Context(ctx context.Context) *AchievementConfigurationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -770,9 +777,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/achievements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
@@ -854,15 +865,14 @@
 type AchievementConfigurationsListCall struct {
 	s             *Service
 	applicationId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Returns a list of the achievement configurations in this
 // application.
 func (r *AchievementConfigurationsService) List(applicationId string) *AchievementConfigurationsListCall {
-	c := &AchievementConfigurationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementConfigurationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	return c
 }
@@ -872,22 +882,22 @@
 // paging. For any response, the actual number of resources returned may
 // be less than the specified maxResults.
 func (c *AchievementConfigurationsListCall) MaxResults(maxResults int64) *AchievementConfigurationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *AchievementConfigurationsListCall) PageToken(pageToken string) *AchievementConfigurationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementConfigurationsListCall) Fields(s ...googleapi.Field) *AchievementConfigurationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -897,13 +907,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AchievementConfigurationsListCall) IfNoneMatch(entityTag string) *AchievementConfigurationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementConfigurationsListCall) Context(ctx context.Context) *AchievementConfigurationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -911,16 +921,26 @@
 
 func (c *AchievementConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/achievements")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1009,30 +1029,30 @@
 	s                        *Service
 	achievementId            string
 	achievementconfiguration *AchievementConfiguration
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Patch: Update the metadata of the achievement configuration with the
 // given ID. This method supports patch semantics.
 func (r *AchievementConfigurationsService) Patch(achievementId string, achievementconfiguration *AchievementConfiguration) *AchievementConfigurationsPatchCall {
-	c := &AchievementConfigurationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementConfigurationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	c.achievementconfiguration = achievementconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementConfigurationsPatchCall) Fields(s ...googleapi.Field) *AchievementConfigurationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementConfigurationsPatchCall) Context(ctx context.Context) *AchievementConfigurationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1045,9 +1065,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -1130,30 +1154,30 @@
 	s                        *Service
 	achievementId            string
 	achievementconfiguration *AchievementConfiguration
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Update: Update the metadata of the achievement configuration with the
 // given ID.
 func (r *AchievementConfigurationsService) Update(achievementId string, achievementconfiguration *AchievementConfiguration) *AchievementConfigurationsUpdateCall {
-	c := &AchievementConfigurationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementConfigurationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	c.achievementconfiguration = achievementconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementConfigurationsUpdateCall) Fields(s ...googleapi.Field) *AchievementConfigurationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementConfigurationsUpdateCall) Context(ctx context.Context) *AchievementConfigurationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1166,9 +1190,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -1248,41 +1276,40 @@
 // method id "gamesConfiguration.imageConfigurations.upload":
 
 type ImageConfigurationsUploadCall struct {
-	s                *Service
-	resourceId       string
-	imageType        string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	resourceId string
+	imageType  string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Upload: Uploads an image for a resource with the given ID and image
 // type.
 func (r *ImageConfigurationsService) Upload(resourceId string, imageType string) *ImageConfigurationsUploadCall {
-	c := &ImageConfigurationsUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ImageConfigurationsUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resourceId = resourceId
 	c.imageType = imageType
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ImageConfigurationsUploadCall) Media(r io.Reader) *ImageConfigurationsUploadCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ImageConfigurationsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ImageConfigurationsUploadCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -1291,28 +1318,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ImageConfigurationsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ImageConfigurationsUploadCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ImageConfigurationsUploadCall) Fields(s ...googleapi.Field) *ImageConfigurationsUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ImageConfigurationsUploadCall) Context(ctx context.Context) *ImageConfigurationsUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -1320,13 +1346,17 @@
 
 func (c *ImageConfigurationsUploadCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "images/{resourceId}/imageType/{imageType}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -1382,6 +1412,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -1391,7 +1427,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -1472,28 +1508,28 @@
 type LeaderboardConfigurationsDeleteCall struct {
 	s             *Service
 	leaderboardId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Delete the leaderboard configuration with the given ID.
 func (r *LeaderboardConfigurationsService) Delete(leaderboardId string) *LeaderboardConfigurationsDeleteCall {
-	c := &LeaderboardConfigurationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardConfigurationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardConfigurationsDeleteCall) Fields(s ...googleapi.Field) *LeaderboardConfigurationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardConfigurationsDeleteCall) Context(ctx context.Context) *LeaderboardConfigurationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1501,9 +1537,13 @@
 
 func (c *LeaderboardConfigurationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
@@ -1554,24 +1594,23 @@
 type LeaderboardConfigurationsGetCall struct {
 	s             *Service
 	leaderboardId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Retrieves the metadata of the leaderboard configuration with the
 // given ID.
 func (r *LeaderboardConfigurationsService) Get(leaderboardId string) *LeaderboardConfigurationsGetCall {
-	c := &LeaderboardConfigurationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardConfigurationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardConfigurationsGetCall) Fields(s ...googleapi.Field) *LeaderboardConfigurationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1581,13 +1620,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LeaderboardConfigurationsGetCall) IfNoneMatch(entityTag string) *LeaderboardConfigurationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardConfigurationsGetCall) Context(ctx context.Context) *LeaderboardConfigurationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1595,16 +1634,20 @@
 
 func (c *LeaderboardConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1679,29 +1722,29 @@
 	s                        *Service
 	applicationId            string
 	leaderboardconfiguration *LeaderboardConfiguration
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Insert: Insert a new leaderboard configuration in this application.
 func (r *LeaderboardConfigurationsService) Insert(applicationId string, leaderboardconfiguration *LeaderboardConfiguration) *LeaderboardConfigurationsInsertCall {
-	c := &LeaderboardConfigurationsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardConfigurationsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	c.leaderboardconfiguration = leaderboardconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardConfigurationsInsertCall) Fields(s ...googleapi.Field) *LeaderboardConfigurationsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardConfigurationsInsertCall) Context(ctx context.Context) *LeaderboardConfigurationsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1714,9 +1757,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/leaderboards")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
@@ -1798,15 +1845,14 @@
 type LeaderboardConfigurationsListCall struct {
 	s             *Service
 	applicationId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Returns a list of the leaderboard configurations in this
 // application.
 func (r *LeaderboardConfigurationsService) List(applicationId string) *LeaderboardConfigurationsListCall {
-	c := &LeaderboardConfigurationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardConfigurationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	return c
 }
@@ -1816,22 +1862,22 @@
 // paging. For any response, the actual number of resources returned may
 // be less than the specified maxResults.
 func (c *LeaderboardConfigurationsListCall) MaxResults(maxResults int64) *LeaderboardConfigurationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *LeaderboardConfigurationsListCall) PageToken(pageToken string) *LeaderboardConfigurationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardConfigurationsListCall) Fields(s ...googleapi.Field) *LeaderboardConfigurationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1841,13 +1887,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LeaderboardConfigurationsListCall) IfNoneMatch(entityTag string) *LeaderboardConfigurationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardConfigurationsListCall) Context(ctx context.Context) *LeaderboardConfigurationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1855,16 +1901,26 @@
 
 func (c *LeaderboardConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/leaderboards")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1953,30 +2009,30 @@
 	s                        *Service
 	leaderboardId            string
 	leaderboardconfiguration *LeaderboardConfiguration
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Patch: Update the metadata of the leaderboard configuration with the
 // given ID. This method supports patch semantics.
 func (r *LeaderboardConfigurationsService) Patch(leaderboardId string, leaderboardconfiguration *LeaderboardConfiguration) *LeaderboardConfigurationsPatchCall {
-	c := &LeaderboardConfigurationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardConfigurationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	c.leaderboardconfiguration = leaderboardconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardConfigurationsPatchCall) Fields(s ...googleapi.Field) *LeaderboardConfigurationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardConfigurationsPatchCall) Context(ctx context.Context) *LeaderboardConfigurationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1989,9 +2045,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
@@ -2074,30 +2134,30 @@
 	s                        *Service
 	leaderboardId            string
 	leaderboardconfiguration *LeaderboardConfiguration
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // Update: Update the metadata of the leaderboard configuration with the
 // given ID.
 func (r *LeaderboardConfigurationsService) Update(leaderboardId string, leaderboardconfiguration *LeaderboardConfiguration) *LeaderboardConfigurationsUpdateCall {
-	c := &LeaderboardConfigurationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LeaderboardConfigurationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	c.leaderboardconfiguration = leaderboardconfiguration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LeaderboardConfigurationsUpdateCall) Fields(s ...googleapi.Field) *LeaderboardConfigurationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LeaderboardConfigurationsUpdateCall) Context(ctx context.Context) *LeaderboardConfigurationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2110,9 +2170,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
diff --git a/gamesmanagement/v1management/gamesmanagement-gen.go b/gamesmanagement/v1management/gamesmanagement-gen.go
index e8c1ba5..25c9050 100644
--- a/gamesmanagement/v1management/gamesmanagement-gen.go
+++ b/gamesmanagement/v1management/gamesmanagement-gen.go
@@ -632,7 +632,7 @@
 type AchievementsResetCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -640,22 +640,22 @@
 // authenticated player. This method is only accessible to whitelisted
 // tester accounts for your application.
 func (r *AchievementsService) Reset(achievementId string) *AchievementsResetCall {
-	c := &AchievementsResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsResetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsResetCall) Fields(s ...googleapi.Field) *AchievementsResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsResetCall) Context(ctx context.Context) *AchievementsResetCall {
 	c.ctx_ = ctx
 	return c
@@ -663,9 +663,13 @@
 
 func (c *AchievementsResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -742,30 +746,30 @@
 // method id "gamesManagement.achievements.resetAll":
 
 type AchievementsResetAllCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAll: Resets all achievements for the currently authenticated
 // player for your application. This method is only accessible to
 // whitelisted tester accounts for your application.
 func (r *AchievementsService) ResetAll() *AchievementsResetAllCall {
-	c := &AchievementsResetAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsResetAllCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsResetAllCall) Fields(s ...googleapi.Field) *AchievementsResetAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsResetAllCall) Context(ctx context.Context) *AchievementsResetAllCall {
 	c.ctx_ = ctx
 	return c
@@ -773,9 +777,13 @@
 
 func (c *AchievementsResetAllCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -839,30 +847,30 @@
 // method id "gamesManagement.achievements.resetAllForAllPlayers":
 
 type AchievementsResetAllForAllPlayersCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAllForAllPlayers: Resets all draft achievements for all players.
 // This method is only available to user accounts for your developer
 // console.
 func (r *AchievementsService) ResetAllForAllPlayers() *AchievementsResetAllForAllPlayersCall {
-	c := &AchievementsResetAllForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsResetAllForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsResetAllForAllPlayersCall) Fields(s ...googleapi.Field) *AchievementsResetAllForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsResetAllForAllPlayersCall) Context(ctx context.Context) *AchievementsResetAllForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -870,9 +878,13 @@
 
 func (c *AchievementsResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/resetAllForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -911,7 +923,7 @@
 type AchievementsResetForAllPlayersCall struct {
 	s             *Service
 	achievementId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -919,22 +931,22 @@
 // players. This method is only available to user accounts for your
 // developer console. Only draft achievements can be reset.
 func (r *AchievementsService) ResetForAllPlayers(achievementId string) *AchievementsResetForAllPlayersCall {
-	c := &AchievementsResetForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsResetForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementId = achievementId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsResetForAllPlayersCall) Fields(s ...googleapi.Field) *AchievementsResetForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsResetForAllPlayersCall) Context(ctx context.Context) *AchievementsResetForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -942,9 +954,13 @@
 
 func (c *AchievementsResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/{achievementId}/resetForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"achievementId": c.achievementId,
@@ -996,7 +1012,7 @@
 type AchievementsResetMultipleForAllPlayersCall struct {
 	s                                     *Service
 	achievementresetmultipleforallrequest *AchievementResetMultipleForAllRequest
-	urlParams_                            internal.URLParams
+	opt_                                  map[string]interface{}
 	ctx_                                  context.Context
 }
 
@@ -1004,22 +1020,22 @@
 // for all players. This method is only available to user accounts for
 // your developer console. Only draft achievements may be reset.
 func (r *AchievementsService) ResetMultipleForAllPlayers(achievementresetmultipleforallrequest *AchievementResetMultipleForAllRequest) *AchievementsResetMultipleForAllPlayersCall {
-	c := &AchievementsResetMultipleForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AchievementsResetMultipleForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.achievementresetmultipleforallrequest = achievementresetmultipleforallrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AchievementsResetMultipleForAllPlayersCall) Fields(s ...googleapi.Field) *AchievementsResetMultipleForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AchievementsResetMultipleForAllPlayersCall) Context(ctx context.Context) *AchievementsResetMultipleForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -1032,9 +1048,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "achievements/resetMultipleForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1077,8 +1097,7 @@
 type ApplicationsListHiddenCall struct {
 	s             *Service
 	applicationId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1086,7 +1105,7 @@
 // application. This method is only available to user accounts for your
 // developer console.
 func (r *ApplicationsService) ListHidden(applicationId string) *ApplicationsListHiddenCall {
-	c := &ApplicationsListHiddenCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ApplicationsListHiddenCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	return c
 }
@@ -1096,22 +1115,22 @@
 // paging. For any response, the actual number of player resources
 // returned may be less than the specified maxResults.
 func (c *ApplicationsListHiddenCall) MaxResults(maxResults int64) *ApplicationsListHiddenCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The token returned
 // by the previous request.
 func (c *ApplicationsListHiddenCall) PageToken(pageToken string) *ApplicationsListHiddenCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ApplicationsListHiddenCall) Fields(s ...googleapi.Field) *ApplicationsListHiddenCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1121,13 +1140,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ApplicationsListHiddenCall) IfNoneMatch(entityTag string) *ApplicationsListHiddenCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ApplicationsListHiddenCall) Context(ctx context.Context) *ApplicationsListHiddenCall {
 	c.ctx_ = ctx
 	return c
@@ -1135,16 +1154,26 @@
 
 func (c *ApplicationsListHiddenCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/players/hidden")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1230,10 +1259,10 @@
 // method id "gamesManagement.events.reset":
 
 type EventsResetCall struct {
-	s          *Service
-	eventId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	eventId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Reset: Resets all player progress on the event with the given ID for
@@ -1241,22 +1270,22 @@
 // whitelisted tester accounts for your application. All quests for this
 // player that use the event will also be reset.
 func (r *EventsService) Reset(eventId string) *EventsResetCall {
-	c := &EventsResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsResetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.eventId = eventId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsResetCall) Fields(s ...googleapi.Field) *EventsResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsResetCall) Context(ctx context.Context) *EventsResetCall {
 	c.ctx_ = ctx
 	return c
@@ -1264,9 +1293,13 @@
 
 func (c *EventsResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events/{eventId}/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"eventId": c.eventId,
@@ -1316,9 +1349,9 @@
 // method id "gamesManagement.events.resetAll":
 
 type EventsResetAllCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAll: Resets all player progress on all events for the currently
@@ -1326,21 +1359,21 @@
 // tester accounts for your application. All quests for this player will
 // also be reset.
 func (r *EventsService) ResetAll() *EventsResetAllCall {
-	c := &EventsResetAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsResetAllCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsResetAllCall) Fields(s ...googleapi.Field) *EventsResetAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsResetAllCall) Context(ctx context.Context) *EventsResetAllCall {
 	c.ctx_ = ctx
 	return c
@@ -1348,9 +1381,13 @@
 
 func (c *EventsResetAllCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1387,30 +1424,30 @@
 // method id "gamesManagement.events.resetAllForAllPlayers":
 
 type EventsResetAllForAllPlayersCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAllForAllPlayers: Resets all draft events for all players. This
 // method is only available to user accounts for your developer console.
 // All quests that use any of these events will also be reset.
 func (r *EventsService) ResetAllForAllPlayers() *EventsResetAllForAllPlayersCall {
-	c := &EventsResetAllForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsResetAllForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsResetAllForAllPlayersCall) Fields(s ...googleapi.Field) *EventsResetAllForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsResetAllForAllPlayersCall) Context(ctx context.Context) *EventsResetAllForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -1418,9 +1455,13 @@
 
 func (c *EventsResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events/resetAllForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1457,10 +1498,10 @@
 // method id "gamesManagement.events.resetForAllPlayers":
 
 type EventsResetForAllPlayersCall struct {
-	s          *Service
-	eventId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	eventId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // ResetForAllPlayers: Resets the event with the given ID for all
@@ -1468,22 +1509,22 @@
 // developer console. Only draft events can be reset. All quests that
 // use the event will also be reset.
 func (r *EventsService) ResetForAllPlayers(eventId string) *EventsResetForAllPlayersCall {
-	c := &EventsResetForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsResetForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.eventId = eventId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsResetForAllPlayersCall) Fields(s ...googleapi.Field) *EventsResetForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsResetForAllPlayersCall) Context(ctx context.Context) *EventsResetForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -1491,9 +1532,13 @@
 
 func (c *EventsResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events/{eventId}/resetForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"eventId": c.eventId,
@@ -1545,7 +1590,7 @@
 type EventsResetMultipleForAllPlayersCall struct {
 	s                                *Service
 	eventsresetmultipleforallrequest *EventsResetMultipleForAllRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
@@ -1554,22 +1599,22 @@
 // developer console. Only draft events may be reset. All quests that
 // use any of the events will also be reset.
 func (r *EventsService) ResetMultipleForAllPlayers(eventsresetmultipleforallrequest *EventsResetMultipleForAllRequest) *EventsResetMultipleForAllPlayersCall {
-	c := &EventsResetMultipleForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsResetMultipleForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.eventsresetmultipleforallrequest = eventsresetmultipleforallrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsResetMultipleForAllPlayersCall) Fields(s ...googleapi.Field) *EventsResetMultipleForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsResetMultipleForAllPlayersCall) Context(ctx context.Context) *EventsResetMultipleForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -1582,9 +1627,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "events/resetMultipleForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1628,7 +1677,7 @@
 	s             *Service
 	applicationId string
 	playerId      string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1636,23 +1685,23 @@
 // application. This method is only available to user accounts for your
 // developer console.
 func (r *PlayersService) Hide(applicationId string, playerId string) *PlayersHideCall {
-	c := &PlayersHideCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlayersHideCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	c.playerId = playerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlayersHideCall) Fields(s ...googleapi.Field) *PlayersHideCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlayersHideCall) Context(ctx context.Context) *PlayersHideCall {
 	c.ctx_ = ctx
 	return c
@@ -1660,9 +1709,13 @@
 
 func (c *PlayersHideCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/players/hidden/{playerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
@@ -1723,7 +1776,7 @@
 	s             *Service
 	applicationId string
 	playerId      string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1731,23 +1784,23 @@
 // application. This method is only available to user accounts for your
 // developer console.
 func (r *PlayersService) Unhide(applicationId string, playerId string) *PlayersUnhideCall {
-	c := &PlayersUnhideCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PlayersUnhideCall{s: r.s, opt_: make(map[string]interface{})}
 	c.applicationId = applicationId
 	c.playerId = playerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlayersUnhideCall) Fields(s ...googleapi.Field) *PlayersUnhideCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlayersUnhideCall) Context(ctx context.Context) *PlayersUnhideCall {
 	c.ctx_ = ctx
 	return c
@@ -1755,9 +1808,13 @@
 
 func (c *PlayersUnhideCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "applications/{applicationId}/players/hidden/{playerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"applicationId": c.applicationId,
@@ -1815,32 +1872,32 @@
 // method id "gamesManagement.quests.reset":
 
 type QuestsResetCall struct {
-	s          *Service
-	questId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	questId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Reset: Resets all player progress on the quest with the given ID for
 // the currently authenticated player. This method is only accessible to
 // whitelisted tester accounts for your application.
 func (r *QuestsService) Reset(questId string) *QuestsResetCall {
-	c := &QuestsResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsResetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.questId = questId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsResetCall) Fields(s ...googleapi.Field) *QuestsResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsResetCall) Context(ctx context.Context) *QuestsResetCall {
 	c.ctx_ = ctx
 	return c
@@ -1848,9 +1905,13 @@
 
 func (c *QuestsResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/{questId}/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"questId": c.questId,
@@ -1900,30 +1961,30 @@
 // method id "gamesManagement.quests.resetAll":
 
 type QuestsResetAllCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAll: Resets all player progress on all quests for the currently
 // authenticated player. This method is only accessible to whitelisted
 // tester accounts for your application.
 func (r *QuestsService) ResetAll() *QuestsResetAllCall {
-	c := &QuestsResetAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsResetAllCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsResetAllCall) Fields(s ...googleapi.Field) *QuestsResetAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsResetAllCall) Context(ctx context.Context) *QuestsResetAllCall {
 	c.ctx_ = ctx
 	return c
@@ -1931,9 +1992,13 @@
 
 func (c *QuestsResetAllCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1970,29 +2035,29 @@
 // method id "gamesManagement.quests.resetAllForAllPlayers":
 
 type QuestsResetAllForAllPlayersCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAllForAllPlayers: Resets all draft quests for all players. This
 // method is only available to user accounts for your developer console.
 func (r *QuestsService) ResetAllForAllPlayers() *QuestsResetAllForAllPlayersCall {
-	c := &QuestsResetAllForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsResetAllForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsResetAllForAllPlayersCall) Fields(s ...googleapi.Field) *QuestsResetAllForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsResetAllForAllPlayersCall) Context(ctx context.Context) *QuestsResetAllForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2000,9 +2065,13 @@
 
 func (c *QuestsResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/resetAllForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -2039,32 +2108,32 @@
 // method id "gamesManagement.quests.resetForAllPlayers":
 
 type QuestsResetForAllPlayersCall struct {
-	s          *Service
-	questId    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	questId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // ResetForAllPlayers: Resets all player progress on the quest with the
 // given ID for all players. This method is only available to user
 // accounts for your developer console. Only draft quests can be reset.
 func (r *QuestsService) ResetForAllPlayers(questId string) *QuestsResetForAllPlayersCall {
-	c := &QuestsResetForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsResetForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.questId = questId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsResetForAllPlayersCall) Fields(s ...googleapi.Field) *QuestsResetForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsResetForAllPlayersCall) Context(ctx context.Context) *QuestsResetForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2072,9 +2141,13 @@
 
 func (c *QuestsResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/{questId}/resetForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"questId": c.questId,
@@ -2126,7 +2199,7 @@
 type QuestsResetMultipleForAllPlayersCall struct {
 	s                                *Service
 	questsresetmultipleforallrequest *QuestsResetMultipleForAllRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
@@ -2134,22 +2207,22 @@
 // players. This method is only available to user accounts for your
 // developer console. Only draft quests may be reset.
 func (r *QuestsService) ResetMultipleForAllPlayers(questsresetmultipleforallrequest *QuestsResetMultipleForAllRequest) *QuestsResetMultipleForAllPlayersCall {
-	c := &QuestsResetMultipleForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &QuestsResetMultipleForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.questsresetmultipleforallrequest = questsresetmultipleforallrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *QuestsResetMultipleForAllPlayersCall) Fields(s ...googleapi.Field) *QuestsResetMultipleForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *QuestsResetMultipleForAllPlayersCall) Context(ctx context.Context) *QuestsResetMultipleForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2162,9 +2235,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "quests/resetMultipleForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2205,30 +2282,30 @@
 // method id "gamesManagement.rooms.reset":
 
 type RoomsResetCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Reset: Reset all rooms for the currently authenticated player for
 // your application. This method is only accessible to whitelisted
 // tester accounts for your application.
 func (r *RoomsService) Reset() *RoomsResetCall {
-	c := &RoomsResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsResetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsResetCall) Fields(s ...googleapi.Field) *RoomsResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsResetCall) Context(ctx context.Context) *RoomsResetCall {
 	c.ctx_ = ctx
 	return c
@@ -2236,9 +2313,13 @@
 
 func (c *RoomsResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -2275,30 +2356,30 @@
 // method id "gamesManagement.rooms.resetForAllPlayers":
 
 type RoomsResetForAllPlayersCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetForAllPlayers: Deletes rooms where the only room participants
 // are from whitelisted tester accounts for your application. This
 // method is only available to user accounts for your developer console.
 func (r *RoomsService) ResetForAllPlayers() *RoomsResetForAllPlayersCall {
-	c := &RoomsResetForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RoomsResetForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RoomsResetForAllPlayersCall) Fields(s ...googleapi.Field) *RoomsResetForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RoomsResetForAllPlayersCall) Context(ctx context.Context) *RoomsResetForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2306,9 +2387,13 @@
 
 func (c *RoomsResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rooms/resetForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -2347,7 +2432,7 @@
 type ScoresResetCall struct {
 	s             *Service
 	leaderboardId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -2355,22 +2440,22 @@
 // currently authenticated player. This method is only accessible to
 // whitelisted tester accounts for your application.
 func (r *ScoresService) Reset(leaderboardId string) *ScoresResetCall {
-	c := &ScoresResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresResetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresResetCall) Fields(s ...googleapi.Field) *ScoresResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresResetCall) Context(ctx context.Context) *ScoresResetCall {
 	c.ctx_ = ctx
 	return c
@@ -2378,9 +2463,13 @@
 
 func (c *ScoresResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}/scores/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
@@ -2457,30 +2546,30 @@
 // method id "gamesManagement.scores.resetAll":
 
 type ScoresResetAllCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAll: Resets all scores for all leaderboards for the currently
 // authenticated players. This method is only accessible to whitelisted
 // tester accounts for your application.
 func (r *ScoresService) ResetAll() *ScoresResetAllCall {
-	c := &ScoresResetAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresResetAllCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresResetAllCall) Fields(s ...googleapi.Field) *ScoresResetAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresResetAllCall) Context(ctx context.Context) *ScoresResetAllCall {
 	c.ctx_ = ctx
 	return c
@@ -2488,9 +2577,13 @@
 
 func (c *ScoresResetAllCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "scores/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -2554,30 +2647,30 @@
 // method id "gamesManagement.scores.resetAllForAllPlayers":
 
 type ScoresResetAllForAllPlayersCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetAllForAllPlayers: Resets scores for all draft leaderboards for
 // all players. This method is only available to user accounts for your
 // developer console.
 func (r *ScoresService) ResetAllForAllPlayers() *ScoresResetAllForAllPlayersCall {
-	c := &ScoresResetAllForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresResetAllForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresResetAllForAllPlayersCall) Fields(s ...googleapi.Field) *ScoresResetAllForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresResetAllForAllPlayersCall) Context(ctx context.Context) *ScoresResetAllForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2585,9 +2678,13 @@
 
 func (c *ScoresResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "scores/resetAllForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -2626,7 +2723,7 @@
 type ScoresResetForAllPlayersCall struct {
 	s             *Service
 	leaderboardId string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -2634,22 +2731,22 @@
 // ID for all players. This method is only available to user accounts
 // for your developer console. Only draft leaderboards can be reset.
 func (r *ScoresService) ResetForAllPlayers(leaderboardId string) *ScoresResetForAllPlayersCall {
-	c := &ScoresResetForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresResetForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.leaderboardId = leaderboardId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresResetForAllPlayersCall) Fields(s ...googleapi.Field) *ScoresResetForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresResetForAllPlayersCall) Context(ctx context.Context) *ScoresResetForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2657,9 +2754,13 @@
 
 func (c *ScoresResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "leaderboards/{leaderboardId}/scores/resetForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"leaderboardId": c.leaderboardId,
@@ -2711,7 +2812,7 @@
 type ScoresResetMultipleForAllPlayersCall struct {
 	s                                *Service
 	scoresresetmultipleforallrequest *ScoresResetMultipleForAllRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
@@ -2720,22 +2821,22 @@
 // accounts for your developer console. Only draft leaderboards may be
 // reset.
 func (r *ScoresService) ResetMultipleForAllPlayers(scoresresetmultipleforallrequest *ScoresResetMultipleForAllRequest) *ScoresResetMultipleForAllPlayersCall {
-	c := &ScoresResetMultipleForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScoresResetMultipleForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	c.scoresresetmultipleforallrequest = scoresresetmultipleforallrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScoresResetMultipleForAllPlayersCall) Fields(s ...googleapi.Field) *ScoresResetMultipleForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScoresResetMultipleForAllPlayersCall) Context(ctx context.Context) *ScoresResetMultipleForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2748,9 +2849,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "scores/resetMultipleForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2791,29 +2896,29 @@
 // method id "gamesManagement.turnBasedMatches.reset":
 
 type TurnBasedMatchesResetCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Reset: Reset all turn-based match data for a user. This method is
 // only accessible to whitelisted tester accounts for your application.
 func (r *TurnBasedMatchesService) Reset() *TurnBasedMatchesResetCall {
-	c := &TurnBasedMatchesResetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesResetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesResetCall) Fields(s ...googleapi.Field) *TurnBasedMatchesResetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesResetCall) Context(ctx context.Context) *TurnBasedMatchesResetCall {
 	c.ctx_ = ctx
 	return c
@@ -2821,9 +2926,13 @@
 
 func (c *TurnBasedMatchesResetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/reset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -2860,9 +2969,9 @@
 // method id "gamesManagement.turnBasedMatches.resetForAllPlayers":
 
 type TurnBasedMatchesResetForAllPlayersCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ResetForAllPlayers: Deletes turn-based matches where the only match
@@ -2870,21 +2979,21 @@
 // application. This method is only available to user accounts for your
 // developer console.
 func (r *TurnBasedMatchesService) ResetForAllPlayers() *TurnBasedMatchesResetForAllPlayersCall {
-	c := &TurnBasedMatchesResetForAllPlayersCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TurnBasedMatchesResetForAllPlayersCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TurnBasedMatchesResetForAllPlayersCall) Fields(s ...googleapi.Field) *TurnBasedMatchesResetForAllPlayersCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TurnBasedMatchesResetForAllPlayersCall) Context(ctx context.Context) *TurnBasedMatchesResetForAllPlayersCall {
 	c.ctx_ = ctx
 	return c
@@ -2892,9 +3001,13 @@
 
 func (c *TurnBasedMatchesResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "turnbasedmatches/resetForAllPlayers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
diff --git a/gan/v1beta1/gan-gen.go b/gan/v1beta1/gan-gen.go
index 76cdd0b..623c214 100644
--- a/gan/v1beta1/gan-gen.go
+++ b/gan/v1beta1/gan-gen.go
@@ -1132,12 +1132,11 @@
 // method id "gan.advertisers.get":
 
 type AdvertisersGetCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves data about a single advertiser if that the requesting
@@ -1145,7 +1144,7 @@
 // advertisers. Advertisers can request information about themselves by
 // omitting the advertiserId query parameter.
 func (r *AdvertisersService) Get(role string, roleId string) *AdvertisersGetCall {
-	c := &AdvertisersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	return c
@@ -1154,15 +1153,15 @@
 // AdvertiserId sets the optional parameter "advertiserId": The ID of
 // the advertiser to look up.
 func (c *AdvertisersGetCall) AdvertiserId(advertiserId string) *AdvertisersGetCall {
-	c.urlParams_.Set("advertiserId", advertiserId)
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1172,13 +1171,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1186,17 +1185,24 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/advertiser")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
 		"roleId": c.roleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1285,18 +1291,17 @@
 // method id "gan.advertisers.list":
 
 type AdvertisersListCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves data about all advertisers that the requesting
 // advertiser/publisher has access to.
 func (r *AdvertisersService) List(role string, roleId string) *AdvertisersListCall {
-	c := &AdvertisersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AdvertisersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	return c
@@ -1308,14 +1313,14 @@
 // http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581. Filters out all advertisers not in one of the given advertiser
 // categories.
 func (c *AdvertisersListCall) AdvertiserCategory(advertiserCategory string) *AdvertisersListCall {
-	c.urlParams_.Set("advertiserCategory", advertiserCategory)
+	c.opt_["advertiserCategory"] = advertiserCategory
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Max number of
 // items to return in this page.  Defaults to 20.
 func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1323,7 +1328,7 @@
 // Filters out all advertisers that have a ninety day EPC average lower
 // than the given value (inclusive). Min value: 0.0.
 func (c *AdvertisersListCall) MinNinetyDayEpc(minNinetyDayEpc float64) *AdvertisersListCall {
-	c.urlParams_.Set("minNinetyDayEpc", fmt.Sprintf("%v", minNinetyDayEpc))
+	c.opt_["minNinetyDayEpc"] = minNinetyDayEpc
 	return c
 }
 
@@ -1334,7 +1339,7 @@
 // the given quartile. For example if a 2 was given only advertisers
 // with a payout rank of 25 or higher would be included.
 func (c *AdvertisersListCall) MinPayoutRank(minPayoutRank int64) *AdvertisersListCall {
-	c.urlParams_.Set("minPayoutRank", fmt.Sprintf("%v", minPayoutRank))
+	c.opt_["minPayoutRank"] = minPayoutRank
 	return c
 }
 
@@ -1342,14 +1347,14 @@
 // out all advertisers that have a seven day EPC average lower than the
 // given value (inclusive). Min value: 0.0.
 func (c *AdvertisersListCall) MinSevenDayEpc(minSevenDayEpc float64) *AdvertisersListCall {
-	c.urlParams_.Set("minSevenDayEpc", fmt.Sprintf("%v", minSevenDayEpc))
+	c.opt_["minSevenDayEpc"] = minSevenDayEpc
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of
 // 'nextPageToken' from the previous page.
 func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1368,15 +1373,15 @@
 //   "pending" - An advertiser program that you've already applied to,
 // but they haven't yet decided to approve or decline your application.
 func (c *AdvertisersListCall) RelationshipStatus(relationshipStatus string) *AdvertisersListCall {
-	c.urlParams_.Set("relationshipStatus", relationshipStatus)
+	c.opt_["relationshipStatus"] = relationshipStatus
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1386,13 +1391,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 	c.ctx_ = ctx
 	return c
@@ -1400,17 +1405,42 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserCategory"]; ok {
+		params.Set("advertiserCategory", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minNinetyDayEpc"]; ok {
+		params.Set("minNinetyDayEpc", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minPayoutRank"]; ok {
+		params.Set("minPayoutRank", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minSevenDayEpc"]; ok {
+		params.Set("minSevenDayEpc", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["relationshipStatus"]; ok {
+		params.Set("relationshipStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/advertisers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
 		"roleId": c.roleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1551,16 +1581,15 @@
 // method id "gan.ccOffers.list":
 
 type CcOffersListCall struct {
-	s            *Service
-	publisher    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	publisher string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves credit card offers for the given publisher.
 func (r *CcOffersService) List(publisher string) *CcOffersListCall {
-	c := &CcOffersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CcOffersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.publisher = publisher
 	return c
 }
@@ -1568,8 +1597,8 @@
 // Advertiser sets the optional parameter "advertiser": The advertiser
 // ID of a card issuer whose offers to include. Optional, may be
 // repeated.
-func (c *CcOffersListCall) Advertiser(advertiser []string) *CcOffersListCall {
-	c.urlParams_.SetMulti("advertiser", append([]string{}, advertiser...))
+func (c *CcOffersListCall) Advertiser(advertiser string) *CcOffersListCall {
+	c.opt_["advertiser"] = advertiser
 	return c
 }
 
@@ -1581,15 +1610,15 @@
 //   "summary" - Include only the basic fields needed to display an
 // offer.
 func (c *CcOffersListCall) Projection(projection string) *CcOffersListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CcOffersListCall) Fields(s ...googleapi.Field) *CcOffersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1599,13 +1628,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CcOffersListCall) IfNoneMatch(entityTag string) *CcOffersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CcOffersListCall) Context(ctx context.Context) *CcOffersListCall {
 	c.ctx_ = ctx
 	return c
@@ -1613,16 +1642,26 @@
 
 func (c *CcOffersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiser"]; ok {
+		params.Set("advertiser", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "publishers/{publisher}/ccOffers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"publisher": c.publisher,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1710,17 +1749,16 @@
 // method id "gan.events.list":
 
 type EventsListCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves event data for a given advertiser/publisher.
 func (r *EventsService) List(role string, roleId string) *EventsListCall {
-	c := &EventsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &EventsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	return c
@@ -1731,7 +1769,7 @@
 // reference one of the given advertiser IDs. Only used when under
 // publishers role.
 func (c *EventsListCall) AdvertiserId(advertiserId string) *EventsListCall {
-	c.urlParams_.Set("advertiserId", advertiserId)
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
@@ -1753,7 +1791,7 @@
 //   "tier_bonus" - A payment from an advertiser to a publisher for the
 // publisher maintaining a high tier level
 func (c *EventsListCall) ChargeType(chargeType string) *EventsListCall {
-	c.urlParams_.Set("chargeType", chargeType)
+	c.opt_["chargeType"] = chargeType
 	return c
 }
 
@@ -1761,7 +1799,7 @@
 // all events later than given date.  Defaults to 24 hours after
 // eventMin.
 func (c *EventsListCall) EventDateMax(eventDateMax string) *EventsListCall {
-	c.urlParams_.Set("eventDateMax", eventDateMax)
+	c.opt_["eventDateMax"] = eventDateMax
 	return c
 }
 
@@ -1769,7 +1807,7 @@
 // all events earlier than given date.  Defaults to 24 hours from
 // current date/time.
 func (c *EventsListCall) EventDateMin(eventDateMin string) *EventsListCall {
-	c.urlParams_.Set("eventDateMin", eventDateMin)
+	c.opt_["eventDateMin"] = eventDateMin
 	return c
 }
 
@@ -1777,14 +1815,14 @@
 // of link IDs. Filters out all events that do not reference one of the
 // given link IDs.
 func (c *EventsListCall) LinkId(linkId string) *EventsListCall {
-	c.urlParams_.Set("linkId", linkId)
+	c.opt_["linkId"] = linkId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Max number of
 // offers to return in this page.  Defaults to 20.
 func (c *EventsListCall) MaxResults(maxResults int64) *EventsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1792,7 +1830,7 @@
 // list of member IDs. Filters out all events that do not reference one
 // of the given member IDs.
 func (c *EventsListCall) MemberId(memberId string) *EventsListCall {
-	c.urlParams_.Set("memberId", memberId)
+	c.opt_["memberId"] = memberId
 	return c
 }
 
@@ -1800,7 +1838,7 @@
 // out all events modified later than given date.  Defaults to 24 hours
 // after modifyDateMin, if modifyDateMin is explicitly set.
 func (c *EventsListCall) ModifyDateMax(modifyDateMax string) *EventsListCall {
-	c.urlParams_.Set("modifyDateMax", modifyDateMax)
+	c.opt_["modifyDateMax"] = modifyDateMax
 	return c
 }
 
@@ -1809,7 +1847,7 @@
 // hours before the current modifyDateMax, if modifyDateMax is
 // explicitly set.
 func (c *EventsListCall) ModifyDateMin(modifyDateMin string) *EventsListCall {
-	c.urlParams_.Set("modifyDateMin", modifyDateMin)
+	c.opt_["modifyDateMin"] = modifyDateMin
 	return c
 }
 
@@ -1817,14 +1855,14 @@
 // list of order IDs. Filters out all events that do not reference one
 // of the given order IDs.
 func (c *EventsListCall) OrderId(orderId string) *EventsListCall {
-	c.urlParams_.Set("orderId", orderId)
+	c.opt_["orderId"] = orderId
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of
 // 'nextPageToken' from the previous page.
 func (c *EventsListCall) PageToken(pageToken string) *EventsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1833,7 +1871,7 @@
 // that do not reference a product in one of the given product
 // categories.
 func (c *EventsListCall) ProductCategory(productCategory string) *EventsListCall {
-	c.urlParams_.Set("productCategory", productCategory)
+	c.opt_["productCategory"] = productCategory
 	return c
 }
 
@@ -1842,7 +1880,7 @@
 // reference one of the given publishers IDs. Only used when under
 // advertiser role.
 func (c *EventsListCall) PublisherId(publisherId string) *EventsListCall {
-	c.urlParams_.Set("publisherId", publisherId)
+	c.opt_["publisherId"] = publisherId
 	return c
 }
 
@@ -1850,7 +1888,7 @@
 // SKUs. Filters out all events that do not reference one of the given
 // SKU.
 func (c *EventsListCall) Sku(sku string) *EventsListCall {
-	c.urlParams_.Set("sku", sku)
+	c.opt_["sku"] = sku
 	return c
 }
 
@@ -1862,7 +1900,7 @@
 //   "active" - Event is currently active.
 //   "canceled" - Event is currently canceled.
 func (c *EventsListCall) Status(status string) *EventsListCall {
-	c.urlParams_.Set("status", status)
+	c.opt_["status"] = status
 	return c
 }
 
@@ -1880,15 +1918,15 @@
 // transaction. Some advertisers use a transaction to record other types
 // of events, such as magazine subscriptions.
 func (c *EventsListCall) Type(type_ string) *EventsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *EventsListCall) Fields(s ...googleapi.Field) *EventsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1898,13 +1936,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *EventsListCall) IfNoneMatch(entityTag string) *EventsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *EventsListCall) Context(ctx context.Context) *EventsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1912,17 +1950,69 @@
 
 func (c *EventsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["chargeType"]; ok {
+		params.Set("chargeType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventDateMax"]; ok {
+		params.Set("eventDateMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventDateMin"]; ok {
+		params.Set("eventDateMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["linkId"]; ok {
+		params.Set("linkId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["memberId"]; ok {
+		params.Set("memberId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifyDateMax"]; ok {
+		params.Set("modifyDateMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifyDateMin"]; ok {
+		params.Set("modifyDateMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderId"]; ok {
+		params.Set("orderId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["productCategory"]; ok {
+		params.Set("productCategory", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publisherId"]; ok {
+		params.Set("publisherId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sku"]; ok {
+		params.Set("sku", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/events")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
 		"roleId": c.roleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2123,13 +2213,12 @@
 // method id "gan.links.get":
 
 type LinksGetCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	linkId       int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	linkId int64
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves data about a single link if the requesting
@@ -2137,18 +2226,18 @@
 // own links. Publishers can look up visible links or links belonging to
 // advertisers they are in a relationship with.
 func (r *LinksService) Get(role string, roleId string, linkId int64) *LinksGetCall {
-	c := &LinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	c.linkId = linkId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinksGetCall) Fields(s ...googleapi.Field) *LinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2158,13 +2247,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LinksGetCall) IfNoneMatch(entityTag string) *LinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinksGetCall) Context(ctx context.Context) *LinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2172,9 +2261,13 @@
 
 func (c *LinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/link/{linkId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
@@ -2182,8 +2275,8 @@
 		"linkId": strconv.FormatInt(c.linkId, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2275,34 +2368,34 @@
 // method id "gan.links.insert":
 
 type LinksInsertCall struct {
-	s          *Service
-	role       string
-	roleId     string
-	link       *Link
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	role   string
+	roleId string
+	link   *Link
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Inserts a new link.
 func (r *LinksService) Insert(role string, roleId string, link *Link) *LinksInsertCall {
-	c := &LinksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	c.link = link
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinksInsertCall) Fields(s ...googleapi.Field) *LinksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinksInsertCall) Context(ctx context.Context) *LinksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2315,9 +2408,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/link")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
@@ -2410,17 +2507,16 @@
 // method id "gan.links.list":
 
 type LinksListCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves all links that match the query parameters.
 func (r *LinksService) List(role string, roleId string) *LinksListCall {
-	c := &LinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	return c
@@ -2428,19 +2524,15 @@
 
 // AdvertiserId sets the optional parameter "advertiserId": Limits the
 // resulting links to the ones belonging to the listed advertisers.
-func (c *LinksListCall) AdvertiserId(advertiserId []int64) *LinksListCall {
-	var advertiserId_ []string
-	for _, v := range advertiserId {
-		advertiserId_ = append(advertiserId_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("advertiserId", advertiserId_)
+func (c *LinksListCall) AdvertiserId(advertiserId int64) *LinksListCall {
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // AssetSize sets the optional parameter "assetSize": The size of the
 // given asset.
-func (c *LinksListCall) AssetSize(assetSize []string) *LinksListCall {
-	c.urlParams_.SetMulti("assetSize", append([]string{}, assetSize...))
+func (c *LinksListCall) AssetSize(assetSize string) *LinksListCall {
+	c.opt_["assetSize"] = assetSize
 	return c
 }
 
@@ -2451,21 +2543,21 @@
 //   "advertiser"
 //   "publisher"
 func (c *LinksListCall) Authorship(authorship string) *LinksListCall {
-	c.urlParams_.Set("authorship", authorship)
+	c.opt_["authorship"] = authorship
 	return c
 }
 
 // CreateDateMax sets the optional parameter "createDateMax": The end of
 // the create date range.
 func (c *LinksListCall) CreateDateMax(createDateMax string) *LinksListCall {
-	c.urlParams_.Set("createDateMax", createDateMax)
+	c.opt_["createDateMax"] = createDateMax
 	return c
 }
 
 // CreateDateMin sets the optional parameter "createDateMin": The
 // beginning of the create date range.
 func (c *LinksListCall) CreateDateMin(createDateMin string) *LinksListCall {
-	c.urlParams_.Set("createDateMin", createDateMin)
+	c.opt_["createDateMin"] = createDateMin
 	return c
 }
 
@@ -2476,21 +2568,21 @@
 //   "banner"
 //   "text"
 func (c *LinksListCall) LinkType(linkType string) *LinksListCall {
-	c.urlParams_.Set("linkType", linkType)
+	c.opt_["linkType"] = linkType
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Max number of
 // items to return in this page.  Defaults to 20.
 func (c *LinksListCall) MaxResults(maxResults int64) *LinksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of
 // 'nextPageToken' from the previous page.
 func (c *LinksListCall) PageToken(pageToken string) *LinksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2503,8 +2595,8 @@
 //   "free_shipping"
 //   "percent_off"
 //   "price_cut"
-func (c *LinksListCall) PromotionType(promotionType []string) *LinksListCall {
-	c.urlParams_.SetMulti("promotionType", append([]string{}, promotionType...))
+func (c *LinksListCall) PromotionType(promotionType string) *LinksListCall {
+	c.opt_["promotionType"] = promotionType
 	return c
 }
 
@@ -2515,7 +2607,7 @@
 //   "approved"
 //   "available"
 func (c *LinksListCall) RelationshipStatus(relationshipStatus string) *LinksListCall {
-	c.urlParams_.Set("relationshipStatus", relationshipStatus)
+	c.opt_["relationshipStatus"] = relationshipStatus
 	return c
 }
 
@@ -2523,29 +2615,29 @@
 // text search across title and merchandising text, supports link id
 // search.
 func (c *LinksListCall) SearchText(searchText string) *LinksListCall {
-	c.urlParams_.Set("searchText", searchText)
+	c.opt_["searchText"] = searchText
 	return c
 }
 
 // StartDateMax sets the optional parameter "startDateMax": The end of
 // the start date range.
 func (c *LinksListCall) StartDateMax(startDateMax string) *LinksListCall {
-	c.urlParams_.Set("startDateMax", startDateMax)
+	c.opt_["startDateMax"] = startDateMax
 	return c
 }
 
 // StartDateMin sets the optional parameter "startDateMin": The
 // beginning of the start date range.
 func (c *LinksListCall) StartDateMin(startDateMin string) *LinksListCall {
-	c.urlParams_.Set("startDateMin", startDateMin)
+	c.opt_["startDateMin"] = startDateMin
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LinksListCall) Fields(s ...googleapi.Field) *LinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2555,13 +2647,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LinksListCall) IfNoneMatch(entityTag string) *LinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LinksListCall) Context(ctx context.Context) *LinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -2569,17 +2661,60 @@
 
 func (c *LinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["assetSize"]; ok {
+		params.Set("assetSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["authorship"]; ok {
+		params.Set("authorship", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createDateMax"]; ok {
+		params.Set("createDateMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createDateMin"]; ok {
+		params.Set("createDateMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["linkType"]; ok {
+		params.Set("linkType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["promotionType"]; ok {
+		params.Set("promotionType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["relationshipStatus"]; ok {
+		params.Set("relationshipStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchText"]; ok {
+		params.Set("searchText", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDateMax"]; ok {
+		params.Set("startDateMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDateMin"]; ok {
+		params.Set("startDateMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/links")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
 		"roleId": c.roleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2773,12 +2908,11 @@
 // method id "gan.publishers.get":
 
 type PublishersGetCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves data about a single advertiser if that the requesting
@@ -2786,7 +2920,7 @@
 // publishers. Publishers can request information about themselves by
 // omitting the publisherId query parameter.
 func (r *PublishersService) Get(role string, roleId string) *PublishersGetCall {
-	c := &PublishersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PublishersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	return c
@@ -2795,15 +2929,15 @@
 // PublisherId sets the optional parameter "publisherId": The ID of the
 // publisher to look up.
 func (c *PublishersGetCall) PublisherId(publisherId string) *PublishersGetCall {
-	c.urlParams_.Set("publisherId", publisherId)
+	c.opt_["publisherId"] = publisherId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PublishersGetCall) Fields(s ...googleapi.Field) *PublishersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2813,13 +2947,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PublishersGetCall) IfNoneMatch(entityTag string) *PublishersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PublishersGetCall) Context(ctx context.Context) *PublishersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2827,17 +2961,24 @@
 
 func (c *PublishersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["publisherId"]; ok {
+		params.Set("publisherId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/publisher")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
 		"roleId": c.roleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2926,18 +3067,17 @@
 // method id "gan.publishers.list":
 
 type PublishersListCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	role   string
+	roleId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves data about all publishers that the requesting
 // advertiser/publisher has access to.
 func (r *PublishersService) List(role string, roleId string) *PublishersListCall {
-	c := &PublishersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PublishersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	return c
@@ -2946,7 +3086,7 @@
 // MaxResults sets the optional parameter "maxResults": Max number of
 // items to return in this page.  Defaults to 20.
 func (c *PublishersListCall) MaxResults(maxResults int64) *PublishersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2954,7 +3094,7 @@
 // Filters out all publishers that have a ninety day EPC average lower
 // than the given value (inclusive). Min value: 0.0.
 func (c *PublishersListCall) MinNinetyDayEpc(minNinetyDayEpc float64) *PublishersListCall {
-	c.urlParams_.Set("minNinetyDayEpc", fmt.Sprintf("%v", minNinetyDayEpc))
+	c.opt_["minNinetyDayEpc"] = minNinetyDayEpc
 	return c
 }
 
@@ -2965,7 +3105,7 @@
 // given quartile. For example if a 2 was given only publishers with a
 // payout rank of 25 or higher would be included.
 func (c *PublishersListCall) MinPayoutRank(minPayoutRank int64) *PublishersListCall {
-	c.urlParams_.Set("minPayoutRank", fmt.Sprintf("%v", minPayoutRank))
+	c.opt_["minPayoutRank"] = minPayoutRank
 	return c
 }
 
@@ -2973,14 +3113,14 @@
 // out all publishers that have a seven day EPC average lower than the
 // given value (inclusive). Min value 0.0.
 func (c *PublishersListCall) MinSevenDayEpc(minSevenDayEpc float64) *PublishersListCall {
-	c.urlParams_.Set("minSevenDayEpc", fmt.Sprintf("%v", minSevenDayEpc))
+	c.opt_["minSevenDayEpc"] = minSevenDayEpc
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value of
 // 'nextPageToken' from the previous page.
 func (c *PublishersListCall) PageToken(pageToken string) *PublishersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2991,7 +3131,7 @@
 // Filters out all publishers not in one of the given advertiser
 // categories.
 func (c *PublishersListCall) PublisherCategory(publisherCategory string) *PublishersListCall {
-	c.urlParams_.Set("publisherCategory", publisherCategory)
+	c.opt_["publisherCategory"] = publisherCategory
 	return c
 }
 
@@ -3010,15 +3150,15 @@
 // recommend reviewing and deciding on pending publishers on a weekly
 // basis.
 func (c *PublishersListCall) RelationshipStatus(relationshipStatus string) *PublishersListCall {
-	c.urlParams_.Set("relationshipStatus", relationshipStatus)
+	c.opt_["relationshipStatus"] = relationshipStatus
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PublishersListCall) Fields(s ...googleapi.Field) *PublishersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3028,13 +3168,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PublishersListCall) IfNoneMatch(entityTag string) *PublishersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PublishersListCall) Context(ctx context.Context) *PublishersListCall {
 	c.ctx_ = ctx
 	return c
@@ -3042,17 +3182,42 @@
 
 func (c *PublishersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minNinetyDayEpc"]; ok {
+		params.Set("minNinetyDayEpc", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minPayoutRank"]; ok {
+		params.Set("minPayoutRank", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minSevenDayEpc"]; ok {
+		params.Set("minSevenDayEpc", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publisherCategory"]; ok {
+		params.Set("publisherCategory", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["relationshipStatus"]; ok {
+		params.Set("relationshipStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/publishers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":   c.role,
 		"roleId": c.roleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3193,18 +3358,17 @@
 // method id "gan.reports.get":
 
 type ReportsGetCall struct {
-	s            *Service
-	role         string
-	roleId       string
-	reportType   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	role       string
+	roleId     string
+	reportType string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Retrieves a report of the specified type.
 func (r *ReportsService) Get(role string, roleId string, reportType string) *ReportsGetCall {
-	c := &ReportsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.role = role
 	c.roleId = roleId
 	c.reportType = reportType
@@ -3213,15 +3377,15 @@
 
 // AdvertiserId sets the optional parameter "advertiserId": The IDs of
 // the advertisers to look up, if applicable.
-func (c *ReportsGetCall) AdvertiserId(advertiserId []string) *ReportsGetCall {
-	c.urlParams_.SetMulti("advertiserId", append([]string{}, advertiserId...))
+func (c *ReportsGetCall) AdvertiserId(advertiserId string) *ReportsGetCall {
+	c.opt_["advertiserId"] = advertiserId
 	return c
 }
 
 // CalculateTotals sets the optional parameter "calculateTotals":
 // Whether or not to calculate totals rows.
 func (c *ReportsGetCall) CalculateTotals(calculateTotals bool) *ReportsGetCall {
-	c.urlParams_.Set("calculateTotals", fmt.Sprintf("%v", calculateTotals))
+	c.opt_["calculateTotals"] = calculateTotals
 	return c
 }
 
@@ -3229,7 +3393,7 @@
 // (exclusive), in RFC 3339 format, for the report data to be returned.
 // Defaults to one day after startDate, if that is given, or today.
 func (c *ReportsGetCall) EndDate(endDate string) *ReportsGetCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
@@ -3242,35 +3406,35 @@
 //   "charge" - Event type is charge.
 //   "transaction" - Event type is transaction.
 func (c *ReportsGetCall) EventType(eventType string) *ReportsGetCall {
-	c.urlParams_.Set("eventType", eventType)
+	c.opt_["eventType"] = eventType
 	return c
 }
 
 // LinkId sets the optional parameter "linkId": Filters to capture one
 // of given link IDs.
-func (c *ReportsGetCall) LinkId(linkId []string) *ReportsGetCall {
-	c.urlParams_.SetMulti("linkId", append([]string{}, linkId...))
+func (c *ReportsGetCall) LinkId(linkId string) *ReportsGetCall {
+	c.opt_["linkId"] = linkId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Max number of
 // items to return in this page.  Defaults to return all results.
 func (c *ReportsGetCall) MaxResults(maxResults int64) *ReportsGetCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // OrderId sets the optional parameter "orderId": Filters to capture one
 // of the given order IDs.
-func (c *ReportsGetCall) OrderId(orderId []string) *ReportsGetCall {
-	c.urlParams_.SetMulti("orderId", append([]string{}, orderId...))
+func (c *ReportsGetCall) OrderId(orderId string) *ReportsGetCall {
+	c.opt_["orderId"] = orderId
 	return c
 }
 
 // PublisherId sets the optional parameter "publisherId": The IDs of the
 // publishers to look up, if applicable.
-func (c *ReportsGetCall) PublisherId(publisherId []string) *ReportsGetCall {
-	c.urlParams_.SetMulti("publisherId", append([]string{}, publisherId...))
+func (c *ReportsGetCall) PublisherId(publisherId string) *ReportsGetCall {
+	c.opt_["publisherId"] = publisherId
 	return c
 }
 
@@ -3278,14 +3442,14 @@
 // (inclusive), in RFC 3339 format, for the report data to be returned.
 // Defaults to one day before endDate, if that is given, or yesterday.
 func (c *ReportsGetCall) StartDate(startDate string) *ReportsGetCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
 // StartIndex sets the optional parameter "startIndex": Offset on which
 // to return results when paging.
 func (c *ReportsGetCall) StartIndex(startIndex int64) *ReportsGetCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["startIndex"] = startIndex
 	return c
 }
 
@@ -3298,15 +3462,15 @@
 //   "canceled" - Event is currently canceled.
 //   "invalid" - Event is currently invalid.
 func (c *ReportsGetCall) Status(status string) *ReportsGetCall {
-	c.urlParams_.Set("status", status)
+	c.opt_["status"] = status
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3316,13 +3480,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3330,9 +3494,46 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["advertiserId"]; ok {
+		params.Set("advertiserId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["calculateTotals"]; ok {
+		params.Set("calculateTotals", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventType"]; ok {
+		params.Set("eventType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["linkId"]; ok {
+		params.Set("linkId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderId"]; ok {
+		params.Set("orderId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publisherId"]; ok {
+		params.Set("publisherId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startIndex"]; ok {
+		params.Set("startIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{role}/{roleId}/report/{reportType}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"role":       c.role,
@@ -3340,8 +3541,8 @@
 		"reportType": c.reportType,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/genomics/v1/genomics-gen.go b/genomics/v1/genomics-gen.go
index ce9c315..fe980c8 100644
--- a/genomics/v1/genomics-gen.go
+++ b/genomics/v1/genomics-gen.go
@@ -2359,30 +2359,30 @@
 // method id "genomics.callsets.create":
 
 type CallsetsCreateCall struct {
-	s          *Service
-	callset    *CallSet
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	callset *CallSet
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a new call set.
 func (r *CallsetsService) Create(callset *CallSet) *CallsetsCreateCall {
-	c := &CallsetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callset = callset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsCreateCall) Fields(s ...googleapi.Field) *CallsetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsCreateCall) Context(ctx context.Context) *CallsetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2395,9 +2395,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/callsets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2465,30 +2469,30 @@
 // method id "genomics.callsets.delete":
 
 type CallsetsDeleteCall struct {
-	s          *Service
-	callSetId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	callSetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a call set.
 func (r *CallsetsService) Delete(callSetId string) *CallsetsDeleteCall {
-	c := &CallsetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsDeleteCall) Fields(s ...googleapi.Field) *CallsetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsDeleteCall) Context(ctx context.Context) *CallsetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2496,9 +2500,13 @@
 
 func (c *CallsetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
@@ -2575,25 +2583,24 @@
 // method id "genomics.callsets.get":
 
 type CallsetsGetCall struct {
-	s            *Service
-	callSetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	callSetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a call set by ID.
 func (r *CallsetsService) Get(callSetId string) *CallsetsGetCall {
-	c := &CallsetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsGetCall) Fields(s ...googleapi.Field) *CallsetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2603,13 +2610,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CallsetsGetCall) IfNoneMatch(entityTag string) *CallsetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsGetCall) Context(ctx context.Context) *CallsetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2617,16 +2624,20 @@
 
 func (c *CallsetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2700,16 +2711,16 @@
 // method id "genomics.callsets.patch":
 
 type CallsetsPatchCall struct {
-	s          *Service
-	callSetId  string
-	callset    *CallSet
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	callSetId string
+	callset   *CallSet
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a call set. This method supports patch semantics.
 func (r *CallsetsService) Patch(callSetId string, callset *CallSet) *CallsetsPatchCall {
-	c := &CallsetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	c.callset = callset
 	return c
@@ -2720,21 +2731,21 @@
 // field is name. The only acceptable value is "name". If unspecified,
 // all mutable fields will be updated.
 func (c *CallsetsPatchCall) UpdateMask(updateMask string) *CallsetsPatchCall {
-	c.urlParams_.Set("updateMask", updateMask)
+	c.opt_["updateMask"] = updateMask
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsPatchCall) Fields(s ...googleapi.Field) *CallsetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsPatchCall) Context(ctx context.Context) *CallsetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2747,9 +2758,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["updateMask"]; ok {
+		params.Set("updateMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
@@ -2837,7 +2855,7 @@
 type CallsetsSearchCall struct {
 	s                     *Service
 	searchcallsetsrequest *SearchCallSetsRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -2845,22 +2863,22 @@
 // [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/bl
 // ob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178).
 func (r *CallsetsService) Search(searchcallsetsrequest *SearchCallSetsRequest) *CallsetsSearchCall {
-	c := &CallsetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchcallsetsrequest = searchcallsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsSearchCall) Fields(s ...googleapi.Field) *CallsetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsSearchCall) Context(ctx context.Context) *CallsetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -2873,9 +2891,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/callsets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2944,30 +2966,30 @@
 // method id "genomics.datasets.create":
 
 type DatasetsCreateCall struct {
-	s          *Service
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	dataset *Dataset
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a new dataset.
 func (r *DatasetsService) Create(dataset *Dataset) *DatasetsCreateCall {
-	c := &DatasetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsCreateCall) Fields(s ...googleapi.Field) *DatasetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsCreateCall) Context(ctx context.Context) *DatasetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2980,9 +3002,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3050,30 +3076,30 @@
 // method id "genomics.datasets.delete":
 
 type DatasetsDeleteCall struct {
-	s          *Service
-	datasetId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a dataset.
 func (r *DatasetsService) Delete(datasetId string) *DatasetsDeleteCall {
-	c := &DatasetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsDeleteCall) Context(ctx context.Context) *DatasetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3081,9 +3107,13 @@
 
 func (c *DatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -3160,25 +3190,24 @@
 // method id "genomics.datasets.get":
 
 type DatasetsGetCall struct {
-	s            *Service
-	datasetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a dataset by ID.
 func (r *DatasetsService) Get(datasetId string) *DatasetsGetCall {
-	c := &DatasetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsGetCall) Fields(s ...googleapi.Field) *DatasetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3188,13 +3217,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatasetsGetCall) IfNoneMatch(entityTag string) *DatasetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsGetCall) Context(ctx context.Context) *DatasetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3202,16 +3231,20 @@
 
 func (c *DatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3288,7 +3321,7 @@
 	s                   *Service
 	resource            string
 	getiampolicyrequest *GetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -3296,23 +3329,23 @@
 // empty if the policy or the resource does not exist. See Getting a
 // Policy for more information.
 func (r *DatasetsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *DatasetsGetIamPolicyCall {
-	c := &DatasetsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.getiampolicyrequest = getiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsGetIamPolicyCall) Fields(s ...googleapi.Field) *DatasetsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsGetIamPolicyCall) Context(ctx context.Context) *DatasetsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -3325,9 +3358,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3409,15 +3446,14 @@
 // method id "genomics.datasets.list":
 
 type DatasetsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists datasets within a project.
 func (r *DatasetsService) List() *DatasetsListCall {
-	c := &DatasetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -3425,7 +3461,7 @@
 // of results returned by this request. If unspecified, defaults to 50.
 // The maximum value is 1024.
 func (c *DatasetsListCall) PageSize(pageSize int64) *DatasetsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -3434,22 +3470,22 @@
 // next page of results, set this parameter to the value of
 // `nextPageToken` from the previous response.
 func (c *DatasetsListCall) PageToken(pageToken string) *DatasetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required. The
 // project to list datasets for.
 func (c *DatasetsListCall) ProjectId(projectId string) *DatasetsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsListCall) Fields(s ...googleapi.Field) *DatasetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3459,13 +3495,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatasetsListCall) IfNoneMatch(entityTag string) *DatasetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsListCall) Context(ctx context.Context) *DatasetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3473,14 +3509,27 @@
 
 func (c *DatasetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3561,16 +3610,16 @@
 // method id "genomics.datasets.patch":
 
 type DatasetsPatchCall struct {
-	s          *Service
-	datasetId  string
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	datasetId string
+	dataset   *Dataset
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a dataset. This method supports patch semantics.
 func (r *DatasetsService) Patch(datasetId string, dataset *Dataset) *DatasetsPatchCall {
-	c := &DatasetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.dataset = dataset
 	return c
@@ -3581,21 +3630,21 @@
 // field is name. The only acceptable value is "name". If unspecified,
 // all mutable fields will be updated.
 func (c *DatasetsPatchCall) UpdateMask(updateMask string) *DatasetsPatchCall {
-	c.urlParams_.Set("updateMask", updateMask)
+	c.opt_["updateMask"] = updateMask
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsPatchCall) Fields(s ...googleapi.Field) *DatasetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsPatchCall) Context(ctx context.Context) *DatasetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3608,9 +3657,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["updateMask"]; ok {
+		params.Set("updateMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -3699,7 +3755,7 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -3707,23 +3763,23 @@
 // dataset. Replaces any existing policy. See Setting a Policy for more
 // information.
 func (r *DatasetsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *DatasetsSetIamPolicyCall {
-	c := &DatasetsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsSetIamPolicyCall) Fields(s ...googleapi.Field) *DatasetsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsSetIamPolicyCall) Context(ctx context.Context) *DatasetsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -3736,9 +3792,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3823,30 +3883,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource. See Testing Permissions for more information.
 func (r *DatasetsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *DatasetsTestIamPermissionsCall {
-	c := &DatasetsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsTestIamPermissionsCall) Fields(s ...googleapi.Field) *DatasetsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsTestIamPermissionsCall) Context(ctx context.Context) *DatasetsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -3859,9 +3919,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3946,7 +4010,7 @@
 	s                      *Service
 	datasetId              string
 	undeletedatasetrequest *UndeleteDatasetRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -3954,23 +4018,23 @@
 // deleted via this API. This operation is only possible for a week
 // after the deletion occurred.
 func (r *DatasetsService) Undelete(datasetId string, undeletedatasetrequest *UndeleteDatasetRequest) *DatasetsUndeleteCall {
-	c := &DatasetsUndeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsUndeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.undeletedatasetrequest = undeletedatasetrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsUndeleteCall) Fields(s ...googleapi.Field) *DatasetsUndeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsUndeleteCall) Context(ctx context.Context) *DatasetsUndeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3983,9 +4047,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets/{datasetId}:undelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -4069,7 +4137,7 @@
 	s                      *Service
 	name                   string
 	canceloperationrequest *CancelOperationRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -4079,23 +4147,23 @@
 // Operations.ListOperations to check whether the cancellation succeeded
 // or the operation completed despite cancellation.
 func (r *OperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OperationsCancelCall {
-	c := &OperationsCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.canceloperationrequest = canceloperationrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -4108,9 +4176,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -4192,31 +4264,31 @@
 // method id "genomics.operations.delete":
 
 type OperationsDeleteCall struct {
-	s          *Service
-	name       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: This method is not implemented. To cancel an operation,
 // please use Operations.CancelOperation.
 func (r *OperationsService) Delete(name string) *OperationsDeleteCall {
-	c := &OperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4224,9 +4296,13 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -4304,27 +4380,26 @@
 // method id "genomics.operations.get":
 
 type OperationsGetCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets the latest state of a long-running operation. Clients can
 // use this method to poll the operation result at intervals as
 // recommended by the API service.
 func (r *OperationsService) Get(name string) *OperationsGetCall {
-	c := &OperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4334,13 +4409,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4348,16 +4423,20 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4431,17 +4510,16 @@
 // method id "genomics.operations.list":
 
 type OperationsListCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists operations that match the specified filter in the
 // request.
 func (r *OperationsService) List(name string) *OperationsListCall {
-	c := &OperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
@@ -4454,7 +4532,7 @@
 // `= 1432140000` * `projectId = my-project AND createTime >= 1432140000
 // AND createTime <= 1432150000 AND status = RUNNING`
 func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -4462,22 +4540,22 @@
 // of results to return. If unspecified, defaults to 256. The maximum
 // value is 2048.
 func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The standard list
 // page token.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4487,13 +4565,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4501,16 +4579,29 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4602,28 +4693,28 @@
 type ReadgroupsetsDeleteCall struct {
 	s              *Service
 	readGroupSetId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes a read group set.
 func (r *ReadgroupsetsService) Delete(readGroupSetId string) *ReadgroupsetsDeleteCall {
-	c := &ReadgroupsetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsDeleteCall) Fields(s ...googleapi.Field) *ReadgroupsetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsDeleteCall) Context(ctx context.Context) *ReadgroupsetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4631,9 +4722,13 @@
 
 func (c *ReadgroupsetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
@@ -4713,7 +4808,7 @@
 	s                         *Service
 	readGroupSetId            string
 	exportreadgroupsetrequest *ExportReadGroupSetRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
@@ -4724,23 +4819,23 @@
 // [ImportReadGroupSets](google.genomics.v1.ReadServiceV1.ImportReadGroup
 // Sets) for caveats.
 func (r *ReadgroupsetsService) Export(readGroupSetId string, exportreadgroupsetrequest *ExportReadGroupSetRequest) *ReadgroupsetsExportCall {
-	c := &ReadgroupsetsExportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsExportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	c.exportreadgroupsetrequest = exportreadgroupsetrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsExportCall) Fields(s ...googleapi.Field) *ReadgroupsetsExportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsExportCall) Context(ctx context.Context) *ReadgroupsetsExportCall {
 	c.ctx_ = ctx
 	return c
@@ -4753,9 +4848,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets/{readGroupSetId}:export")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
@@ -4839,23 +4938,22 @@
 type ReadgroupsetsGetCall struct {
 	s              *Service
 	readGroupSetId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Gets a read group set by ID.
 func (r *ReadgroupsetsService) Get(readGroupSetId string) *ReadgroupsetsGetCall {
-	c := &ReadgroupsetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsGetCall) Fields(s ...googleapi.Field) *ReadgroupsetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4865,13 +4963,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReadgroupsetsGetCall) IfNoneMatch(entityTag string) *ReadgroupsetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsGetCall) Context(ctx context.Context) *ReadgroupsetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4879,16 +4977,20 @@
 
 func (c *ReadgroupsetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4964,7 +5066,7 @@
 type ReadgroupsetsImportCall struct {
 	s                          *Service
 	importreadgroupsetsrequest *ImportReadGroupSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -4980,22 +5082,22 @@
 // reads will be stripped of positional information (reference name and
 // position)
 func (r *ReadgroupsetsService) Import(importreadgroupsetsrequest *ImportReadGroupSetsRequest) *ReadgroupsetsImportCall {
-	c := &ReadgroupsetsImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.importreadgroupsetsrequest = importreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsImportCall) Fields(s ...googleapi.Field) *ReadgroupsetsImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsImportCall) Context(ctx context.Context) *ReadgroupsetsImportCall {
 	c.ctx_ = ctx
 	return c
@@ -5008,9 +5110,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets:import")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5082,14 +5188,14 @@
 	s              *Service
 	readGroupSetId string
 	readgroupset   *ReadGroupSet
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates a read group set. This method supports patch
 // semantics.
 func (r *ReadgroupsetsService) Patch(readGroupSetId string, readgroupset *ReadGroupSet) *ReadgroupsetsPatchCall {
-	c := &ReadgroupsetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	c.readgroupset = readgroupset
 	return c
@@ -5100,21 +5206,21 @@
 // referenceSetId and name. Acceptable values are "referenceSetId" and
 // "name". If unspecified, all mutable fields will be updated.
 func (c *ReadgroupsetsPatchCall) UpdateMask(updateMask string) *ReadgroupsetsPatchCall {
-	c.urlParams_.Set("updateMask", updateMask)
+	c.opt_["updateMask"] = updateMask
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsPatchCall) Fields(s ...googleapi.Field) *ReadgroupsetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsPatchCall) Context(ctx context.Context) *ReadgroupsetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5127,9 +5233,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["updateMask"]; ok {
+		params.Set("updateMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
@@ -5217,7 +5330,7 @@
 type ReadgroupsetsSearchCall struct {
 	s                          *Service
 	searchreadgroupsetsrequest *SearchReadGroupSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -5226,22 +5339,22 @@
 // [GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/schem
 // as/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135).
 func (r *ReadgroupsetsService) Search(searchreadgroupsetsrequest *SearchReadGroupSetsRequest) *ReadgroupsetsSearchCall {
-	c := &ReadgroupsetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreadgroupsetsrequest = searchreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsSearchCall) Fields(s ...googleapi.Field) *ReadgroupsetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsSearchCall) Context(ctx context.Context) *ReadgroupsetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -5254,9 +5367,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5327,8 +5444,7 @@
 type ReadgroupsetsCoveragebucketsListCall struct {
 	s              *Service
 	readGroupSetId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -5341,7 +5457,7 @@
 // various coverage 'zoom levels'. The caller must have READ permissions
 // for the target read group set.
 func (r *ReadgroupsetsCoveragebucketsService) List(readGroupSetId string) *ReadgroupsetsCoveragebucketsListCall {
-	c := &ReadgroupsetsCoveragebucketsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsCoveragebucketsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	return c
 }
@@ -5351,7 +5467,7 @@
 // must also be specified. If unset or 0, defaults to the length of the
 // reference.
 func (c *ReadgroupsetsCoveragebucketsListCall) End(end int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("end", fmt.Sprintf("%v", end))
+	c.opt_["end"] = end
 	return c
 }
 
@@ -5359,7 +5475,7 @@
 // of results to return in a single page. If unspecified, defaults to
 // 1024. The maximum value is 2048.
 func (c *ReadgroupsetsCoveragebucketsListCall) PageSize(pageSize int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -5368,7 +5484,7 @@
 // next page of results, set this parameter to the value of
 // `nextPageToken` from the previous response.
 func (c *ReadgroupsetsCoveragebucketsListCall) PageToken(pageToken string) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -5376,7 +5492,7 @@
 // of the reference to query, within the reference set associated with
 // this query.
 func (c *ReadgroupsetsCoveragebucketsListCall) ReferenceName(referenceName string) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("referenceName", referenceName)
+	c.opt_["referenceName"] = referenceName
 	return c
 }
 
@@ -5384,7 +5500,7 @@
 // range on the reference, 0-based inclusive. If specified,
 // `referenceName` must also be specified. Defaults to 0.
 func (c *ReadgroupsetsCoveragebucketsListCall) Start(start int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("start", fmt.Sprintf("%v", start))
+	c.opt_["start"] = start
 	return c
 }
 
@@ -5397,15 +5513,15 @@
 // precomputed `bucketWidth` is currently 2048 base pairs; this is
 // subject to change.
 func (c *ReadgroupsetsCoveragebucketsListCall) TargetBucketWidth(targetBucketWidth int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("targetBucketWidth", fmt.Sprintf("%v", targetBucketWidth))
+	c.opt_["targetBucketWidth"] = targetBucketWidth
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsCoveragebucketsListCall) Fields(s ...googleapi.Field) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5415,13 +5531,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReadgroupsetsCoveragebucketsListCall) IfNoneMatch(entityTag string) *ReadgroupsetsCoveragebucketsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsCoveragebucketsListCall) Context(ctx context.Context) *ReadgroupsetsCoveragebucketsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5429,16 +5545,38 @@
 
 func (c *ReadgroupsetsCoveragebucketsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["end"]; ok {
+		params.Set("end", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["referenceName"]; ok {
+		params.Set("referenceName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start"]; ok {
+		params.Set("start", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["targetBucketWidth"]; ok {
+		params.Set("targetBucketWidth", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/readgroupsets/{readGroupSetId}/coveragebuckets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5548,7 +5686,7 @@
 type ReadsSearchCall struct {
 	s                  *Service
 	searchreadsrequest *SearchReadsRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -5566,22 +5704,22 @@
 // [GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/blob/
 // v0.5.1/src/main/resources/avro/readmethods.avdl#L85).
 func (r *ReadsService) Search(searchreadsrequest *SearchReadsRequest) *ReadsSearchCall {
-	c := &ReadsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreadsrequest = searchreadsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadsSearchCall) Fields(s ...googleapi.Field) *ReadsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadsSearchCall) Context(ctx context.Context) *ReadsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -5594,9 +5732,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/reads/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5665,27 +5807,26 @@
 // method id "genomics.references.get":
 
 type ReferencesGetCall struct {
-	s            *Service
-	referenceId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	referenceId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a reference. Implements
 // [GlobalAllianceApi.getReference](https://github.com/ga4gh/schemas/blob
 // /v0.5.1/src/main/resources/avro/referencemethods.avdl#L158).
 func (r *ReferencesService) Get(referenceId string) *ReferencesGetCall {
-	c := &ReferencesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.referenceId = referenceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesGetCall) Fields(s ...googleapi.Field) *ReferencesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5695,13 +5836,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReferencesGetCall) IfNoneMatch(entityTag string) *ReferencesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesGetCall) Context(ctx context.Context) *ReferencesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5709,16 +5850,20 @@
 
 func (c *ReferencesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/references/{referenceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"referenceId": c.referenceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5794,7 +5939,7 @@
 type ReferencesSearchCall struct {
 	s                       *Service
 	searchreferencesrequest *SearchReferencesRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -5803,22 +5948,22 @@
 // [GlobalAllianceApi.searchReferences](https://github.com/ga4gh/schemas/
 // blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146).
 func (r *ReferencesService) Search(searchreferencesrequest *SearchReferencesRequest) *ReferencesSearchCall {
-	c := &ReferencesSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreferencesrequest = searchreferencesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesSearchCall) Fields(s ...googleapi.Field) *ReferencesSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesSearchCall) Context(ctx context.Context) *ReferencesSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -5831,9 +5976,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/references/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5902,11 +6051,10 @@
 // method id "genomics.references.bases.list":
 
 type ReferencesBasesListCall struct {
-	s            *Service
-	referenceId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	referenceId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists the bases in a reference, optionally restricted to a
@@ -5914,7 +6062,7 @@
 // [GlobalAllianceApi.getReferenceBases](https://github.com/ga4gh/schemas
 // /blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221).
 func (r *ReferencesBasesService) List(referenceId string) *ReferencesBasesListCall {
-	c := &ReferencesBasesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesBasesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.referenceId = referenceId
 	return c
 }
@@ -5922,14 +6070,14 @@
 // End sets the optional parameter "end": The end position (0-based,
 // exclusive) of this query. Defaults to the length of this reference.
 func (c *ReferencesBasesListCall) End(end int64) *ReferencesBasesListCall {
-	c.urlParams_.Set("end", fmt.Sprintf("%v", end))
+	c.opt_["end"] = end
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Specifies the
 // maximum number of bases to return in a single page.
 func (c *ReferencesBasesListCall) PageSize(pageSize int64) *ReferencesBasesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -5938,22 +6086,22 @@
 // next page of results, set this parameter to the value of
 // `nextPageToken` from the previous response.
 func (c *ReferencesBasesListCall) PageToken(pageToken string) *ReferencesBasesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Start sets the optional parameter "start": The start position
 // (0-based) of this query. Defaults to 0.
 func (c *ReferencesBasesListCall) Start(start int64) *ReferencesBasesListCall {
-	c.urlParams_.Set("start", fmt.Sprintf("%v", start))
+	c.opt_["start"] = start
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesBasesListCall) Fields(s ...googleapi.Field) *ReferencesBasesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5963,13 +6111,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReferencesBasesListCall) IfNoneMatch(entityTag string) *ReferencesBasesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesBasesListCall) Context(ctx context.Context) *ReferencesBasesListCall {
 	c.ctx_ = ctx
 	return c
@@ -5977,16 +6125,32 @@
 
 func (c *ReferencesBasesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["end"]; ok {
+		params.Set("end", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start"]; ok {
+		params.Set("start", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/references/{referenceId}/bases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"referenceId": c.referenceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6085,8 +6249,7 @@
 type ReferencesetsGetCall struct {
 	s              *Service
 	referenceSetId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -6094,16 +6257,16 @@
 // [GlobalAllianceApi.getReferenceSet](https://github.com/ga4gh/schemas/b
 // lob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83).
 func (r *ReferencesetsService) Get(referenceSetId string) *ReferencesetsGetCall {
-	c := &ReferencesetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.referenceSetId = referenceSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesetsGetCall) Fields(s ...googleapi.Field) *ReferencesetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6113,13 +6276,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReferencesetsGetCall) IfNoneMatch(entityTag string) *ReferencesetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesetsGetCall) Context(ctx context.Context) *ReferencesetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6127,16 +6290,20 @@
 
 func (c *ReferencesetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/referencesets/{referenceSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"referenceSetId": c.referenceSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6212,7 +6379,7 @@
 type ReferencesetsSearchCall struct {
 	s                          *Service
 	searchreferencesetsrequest *SearchReferenceSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -6221,22 +6388,22 @@
 // [GlobalAllianceApi.searchReferenceSets](http://ga4gh.org/documentation
 // /api/v0.5.1/ga4gh_api.html#/schema/org.ga4gh.searchReferenceSets).
 func (r *ReferencesetsService) Search(searchreferencesetsrequest *SearchReferenceSetsRequest) *ReferencesetsSearchCall {
-	c := &ReferencesetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreferencesetsrequest = searchreferencesetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesetsSearchCall) Fields(s ...googleapi.Field) *ReferencesetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesetsSearchCall) Context(ctx context.Context) *ReferencesetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -6249,9 +6416,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/referencesets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6320,30 +6491,30 @@
 // method id "genomics.variants.create":
 
 type VariantsCreateCall struct {
-	s          *Service
-	variant    *Variant
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	variant *Variant
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a new variant.
 func (r *VariantsService) Create(variant *Variant) *VariantsCreateCall {
-	c := &VariantsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variant = variant
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsCreateCall) Fields(s ...googleapi.Field) *VariantsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsCreateCall) Context(ctx context.Context) *VariantsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -6356,9 +6527,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variants")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6426,30 +6601,30 @@
 // method id "genomics.variants.delete":
 
 type VariantsDeleteCall struct {
-	s          *Service
-	variantId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	variantId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a variant.
 func (r *VariantsService) Delete(variantId string) *VariantsDeleteCall {
-	c := &VariantsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantId = variantId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsDeleteCall) Fields(s ...googleapi.Field) *VariantsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsDeleteCall) Context(ctx context.Context) *VariantsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6457,9 +6632,13 @@
 
 func (c *VariantsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variants/{variantId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantId": c.variantId,
@@ -6536,25 +6715,24 @@
 // method id "genomics.variants.get":
 
 type VariantsGetCall struct {
-	s            *Service
-	variantId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	variantId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a variant by ID.
 func (r *VariantsService) Get(variantId string) *VariantsGetCall {
-	c := &VariantsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantId = variantId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsGetCall) Fields(s ...googleapi.Field) *VariantsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6564,13 +6742,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VariantsGetCall) IfNoneMatch(entityTag string) *VariantsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsGetCall) Context(ctx context.Context) *VariantsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6578,16 +6756,20 @@
 
 func (c *VariantsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variants/{variantId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantId": c.variantId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6663,7 +6845,7 @@
 type VariantsImportCall struct {
 	s                     *Service
 	importvariantsrequest *ImportVariantsRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -6680,22 +6862,22 @@
 // these are sometimes interpreted in a call-specific context. Imported
 // VCF headers are appended to the metadata already in a variant set.
 func (r *VariantsService) Import(importvariantsrequest *ImportVariantsRequest) *VariantsImportCall {
-	c := &VariantsImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.importvariantsrequest = importvariantsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsImportCall) Fields(s ...googleapi.Field) *VariantsImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsImportCall) Context(ctx context.Context) *VariantsImportCall {
 	c.ctx_ = ctx
 	return c
@@ -6708,9 +6890,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variants:import")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6779,17 +6965,17 @@
 // method id "genomics.variants.patch":
 
 type VariantsPatchCall struct {
-	s          *Service
-	variantId  string
-	variant    *Variant
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	variantId string
+	variant   *Variant
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a variant. This method supports patch semantics.
 // Returns the modified variant without its calls.
 func (r *VariantsService) Patch(variantId string, variant *Variant) *VariantsPatchCall {
-	c := &VariantsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantId = variantId
 	c.variant = variant
 	return c
@@ -6800,21 +6986,21 @@
 // names and info. Acceptable values are "names" and "info". If
 // unspecified, all mutable fields will be updated.
 func (c *VariantsPatchCall) UpdateMask(updateMask string) *VariantsPatchCall {
-	c.urlParams_.Set("updateMask", updateMask)
+	c.opt_["updateMask"] = updateMask
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsPatchCall) Fields(s ...googleapi.Field) *VariantsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsPatchCall) Context(ctx context.Context) *VariantsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6827,9 +7013,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["updateMask"]; ok {
+		params.Set("updateMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variants/{variantId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantId": c.variantId,
@@ -6917,7 +7110,7 @@
 type VariantsSearchCall struct {
 	s                     *Service
 	searchvariantsrequest *SearchVariantsRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -6925,22 +7118,22 @@
 // [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/bl
 // ob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126).
 func (r *VariantsService) Search(searchvariantsrequest *SearchVariantsRequest) *VariantsSearchCall {
-	c := &VariantsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchvariantsrequest = searchvariantsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsSearchCall) Fields(s ...googleapi.Field) *VariantsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsSearchCall) Context(ctx context.Context) *VariantsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -6953,9 +7146,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variants/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7026,7 +7223,7 @@
 type VariantsetsCreateCall struct {
 	s          *Service
 	variantset *VariantSet
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -7034,22 +7231,22 @@
 // a valid `datasetId` set - all other fields are optional. Note that
 // the `id` field will be ignored, as this is assigned by the server.
 func (r *VariantsetsService) Create(variantset *VariantSet) *VariantsetsCreateCall {
-	c := &VariantsetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantset = variantset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsCreateCall) Fields(s ...googleapi.Field) *VariantsetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsCreateCall) Context(ctx context.Context) *VariantsetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -7062,9 +7259,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variantsets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7134,29 +7335,29 @@
 type VariantsetsDeleteCall struct {
 	s            *Service
 	variantSetId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes the contents of a variant set. The variant set object
 // is not deleted.
 func (r *VariantsetsService) Delete(variantSetId string) *VariantsetsDeleteCall {
-	c := &VariantsetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsDeleteCall) Fields(s ...googleapi.Field) *VariantsetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsDeleteCall) Context(ctx context.Context) *VariantsetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7164,9 +7365,13 @@
 
 func (c *VariantsetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -7246,29 +7451,29 @@
 	s                       *Service
 	variantSetId            string
 	exportvariantsetrequest *ExportVariantSetRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Export: Exports variant set data to an external destination.
 func (r *VariantsetsService) Export(variantSetId string, exportvariantsetrequest *ExportVariantSetRequest) *VariantsetsExportCall {
-	c := &VariantsetsExportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsExportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.exportvariantsetrequest = exportvariantsetrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsExportCall) Fields(s ...googleapi.Field) *VariantsetsExportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsExportCall) Context(ctx context.Context) *VariantsetsExportCall {
 	c.ctx_ = ctx
 	return c
@@ -7281,9 +7486,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variantsets/{variantSetId}:export")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -7367,23 +7576,22 @@
 type VariantsetsGetCall struct {
 	s            *Service
 	variantSetId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets a variant set by ID.
 func (r *VariantsetsService) Get(variantSetId string) *VariantsetsGetCall {
-	c := &VariantsetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsGetCall) Fields(s ...googleapi.Field) *VariantsetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7393,13 +7601,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VariantsetsGetCall) IfNoneMatch(entityTag string) *VariantsetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsGetCall) Context(ctx context.Context) *VariantsetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7407,16 +7615,20 @@
 
 func (c *VariantsetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7493,13 +7705,13 @@
 	s            *Service
 	variantSetId string
 	variantset   *VariantSet
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates a variant set. This method supports patch semantics.
 func (r *VariantsetsService) Patch(variantSetId string, variantset *VariantSet) *VariantsetsPatchCall {
-	c := &VariantsetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.variantset = variantset
 	return c
@@ -7510,21 +7722,21 @@
 // field is metadata. The only acceptable value is "metadata". If
 // unspecified, all mutable fields will be updated.
 func (c *VariantsetsPatchCall) UpdateMask(updateMask string) *VariantsetsPatchCall {
-	c.urlParams_.Set("updateMask", updateMask)
+	c.opt_["updateMask"] = updateMask
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsPatchCall) Fields(s ...googleapi.Field) *VariantsetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsPatchCall) Context(ctx context.Context) *VariantsetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7537,9 +7749,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["updateMask"]; ok {
+		params.Set("updateMask", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -7627,7 +7846,7 @@
 type VariantsetsSearchCall struct {
 	s                        *Service
 	searchvariantsetsrequest *SearchVariantSetsRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -7636,22 +7855,22 @@
 // [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas
 // /blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49).
 func (r *VariantsetsService) Search(searchvariantsetsrequest *SearchVariantSetsRequest) *VariantsetsSearchCall {
-	c := &VariantsetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchvariantsetsrequest = searchvariantsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsSearchCall) Fields(s ...googleapi.Field) *VariantsetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsSearchCall) Context(ctx context.Context) *VariantsetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -7664,9 +7883,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/variantsets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/genomics/v1beta2/genomics-gen.go b/genomics/v1beta2/genomics-gen.go
index 40f3ce6..f9b64b8 100644
--- a/genomics/v1beta2/genomics-gen.go
+++ b/genomics/v1beta2/genomics-gen.go
@@ -3261,29 +3261,29 @@
 type AnnotationSetsCreateCall struct {
 	s             *Service
 	annotationset *AnnotationSet
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Create: Creates a new annotation set. Caller must have WRITE
 // permission for the associated dataset.
 func (r *AnnotationSetsService) Create(annotationset *AnnotationSet) *AnnotationSetsCreateCall {
-	c := &AnnotationSetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationSetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationset = annotationset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationSetsCreateCall) Fields(s ...googleapi.Field) *AnnotationSetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationSetsCreateCall) Context(ctx context.Context) *AnnotationSetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3296,9 +3296,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotationSets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3368,29 +3372,29 @@
 type AnnotationSetsDeleteCall struct {
 	s               *Service
 	annotationSetId string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes an annotation set. Caller must have WRITE permission
 // for the associated annotation set.
 func (r *AnnotationSetsService) Delete(annotationSetId string) *AnnotationSetsDeleteCall {
-	c := &AnnotationSetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationSetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationSetId = annotationSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationSetsDeleteCall) Fields(s ...googleapi.Field) *AnnotationSetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationSetsDeleteCall) Context(ctx context.Context) *AnnotationSetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3398,9 +3402,13 @@
 
 func (c *AnnotationSetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotationSets/{annotationSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationSetId": c.annotationSetId,
@@ -3452,24 +3460,23 @@
 type AnnotationSetsGetCall struct {
 	s               *Service
 	annotationSetId string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Gets an annotation set. Caller must have READ permission for the
 // associated dataset.
 func (r *AnnotationSetsService) Get(annotationSetId string) *AnnotationSetsGetCall {
-	c := &AnnotationSetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationSetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationSetId = annotationSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationSetsGetCall) Fields(s ...googleapi.Field) *AnnotationSetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3479,13 +3486,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AnnotationSetsGetCall) IfNoneMatch(entityTag string) *AnnotationSetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationSetsGetCall) Context(ctx context.Context) *AnnotationSetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3493,16 +3500,20 @@
 
 func (c *AnnotationSetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotationSets/{annotationSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationSetId": c.annotationSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3579,7 +3590,7 @@
 	s               *Service
 	annotationSetId string
 	annotationset   *AnnotationSet
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -3588,23 +3599,23 @@
 // annotation set resource. Caller must have WRITE permission for the
 // associated dataset. This method supports patch semantics.
 func (r *AnnotationSetsService) Patch(annotationSetId string, annotationset *AnnotationSet) *AnnotationSetsPatchCall {
-	c := &AnnotationSetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationSetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationSetId = annotationSetId
 	c.annotationset = annotationset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationSetsPatchCall) Fields(s ...googleapi.Field) *AnnotationSetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationSetsPatchCall) Context(ctx context.Context) *AnnotationSetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3617,9 +3628,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotationSets/{annotationSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationSetId": c.annotationSetId,
@@ -3702,7 +3717,7 @@
 type AnnotationSetsSearchCall struct {
 	s                           *Service
 	searchannotationsetsrequest *SearchAnnotationSetsRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
@@ -3710,22 +3725,22 @@
 // Results are returned in a deterministic order. Caller must have READ
 // permission for the queried datasets.
 func (r *AnnotationSetsService) Search(searchannotationsetsrequest *SearchAnnotationSetsRequest) *AnnotationSetsSearchCall {
-	c := &AnnotationSetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationSetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchannotationsetsrequest = searchannotationsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationSetsSearchCall) Fields(s ...googleapi.Field) *AnnotationSetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationSetsSearchCall) Context(ctx context.Context) *AnnotationSetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -3738,9 +3753,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotationSets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3812,7 +3831,7 @@
 	s               *Service
 	annotationSetId string
 	annotationset   *AnnotationSet
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -3821,23 +3840,23 @@
 // annotation set resource. Caller must have WRITE permission for the
 // associated dataset.
 func (r *AnnotationSetsService) Update(annotationSetId string, annotationset *AnnotationSet) *AnnotationSetsUpdateCall {
-	c := &AnnotationSetsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationSetsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationSetId = annotationSetId
 	c.annotationset = annotationset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationSetsUpdateCall) Fields(s ...googleapi.Field) *AnnotationSetsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationSetsUpdateCall) Context(ctx context.Context) *AnnotationSetsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3850,9 +3869,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotationSets/{annotationSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationSetId": c.annotationSetId,
@@ -3935,7 +3958,7 @@
 type AnnotationsBatchCreateCall struct {
 	s                             *Service
 	batchcreateannotationsrequest *BatchCreateAnnotationsRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -3951,22 +3974,22 @@
 // the corresponding batch entry in the response; the remaining well
 // formed annotations will be created normally.
 func (r *AnnotationsService) BatchCreate(batchcreateannotationsrequest *BatchCreateAnnotationsRequest) *AnnotationsBatchCreateCall {
-	c := &AnnotationsBatchCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsBatchCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.batchcreateannotationsrequest = batchcreateannotationsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsBatchCreateCall) Fields(s ...googleapi.Field) *AnnotationsBatchCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsBatchCreateCall) Context(ctx context.Context) *AnnotationsBatchCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3979,9 +4002,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations:batchCreate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -4051,29 +4078,29 @@
 type AnnotationsCreateCall struct {
 	s          *Service
 	annotation *Annotation
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Create: Creates a new annotation. Caller must have WRITE permission
 // for the associated annotation set.
 func (r *AnnotationsService) Create(annotation *Annotation) *AnnotationsCreateCall {
-	c := &AnnotationsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotation = annotation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsCreateCall) Fields(s ...googleapi.Field) *AnnotationsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsCreateCall) Context(ctx context.Context) *AnnotationsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -4086,9 +4113,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -4158,29 +4189,29 @@
 type AnnotationsDeleteCall struct {
 	s            *Service
 	annotationId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes an annotation. Caller must have WRITE permission for
 // the associated annotation set.
 func (r *AnnotationsService) Delete(annotationId string) *AnnotationsDeleteCall {
-	c := &AnnotationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationId = annotationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsDeleteCall) Fields(s ...googleapi.Field) *AnnotationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsDeleteCall) Context(ctx context.Context) *AnnotationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4188,9 +4219,13 @@
 
 func (c *AnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationId": c.annotationId,
@@ -4242,24 +4277,23 @@
 type AnnotationsGetCall struct {
 	s            *Service
 	annotationId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets an annotation. Caller must have READ permission for the
 // associated annotation set.
 func (r *AnnotationsService) Get(annotationId string) *AnnotationsGetCall {
-	c := &AnnotationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationId = annotationId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsGetCall) Fields(s ...googleapi.Field) *AnnotationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4269,13 +4303,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AnnotationsGetCall) IfNoneMatch(entityTag string) *AnnotationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsGetCall) Context(ctx context.Context) *AnnotationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4283,16 +4317,20 @@
 
 func (c *AnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationId": c.annotationId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4369,7 +4407,7 @@
 	s            *Service
 	annotationId string
 	annotation   *Annotation
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -4378,23 +4416,23 @@
 // resource. Caller must have WRITE permission for the associated
 // dataset. This method supports patch semantics.
 func (r *AnnotationsService) Patch(annotationId string, annotation *Annotation) *AnnotationsPatchCall {
-	c := &AnnotationsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationId = annotationId
 	c.annotation = annotation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsPatchCall) Fields(s ...googleapi.Field) *AnnotationsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsPatchCall) Context(ctx context.Context) *AnnotationsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4407,9 +4445,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationId": c.annotationId,
@@ -4492,7 +4534,7 @@
 type AnnotationsSearchCall struct {
 	s                        *Service
 	searchannotationsrequest *SearchAnnotationsRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -4501,22 +4543,22 @@
 // matching start positions are ordered deterministically. Caller must
 // have READ permission for the queried annotation sets.
 func (r *AnnotationsService) Search(searchannotationsrequest *SearchAnnotationsRequest) *AnnotationsSearchCall {
-	c := &AnnotationsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchannotationsrequest = searchannotationsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsSearchCall) Fields(s ...googleapi.Field) *AnnotationsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsSearchCall) Context(ctx context.Context) *AnnotationsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -4529,9 +4571,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -4603,7 +4649,7 @@
 	s            *Service
 	annotationId string
 	annotation   *Annotation
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -4612,23 +4658,23 @@
 // resource. Caller must have WRITE permission for the associated
 // dataset.
 func (r *AnnotationsService) Update(annotationId string, annotation *Annotation) *AnnotationsUpdateCall {
-	c := &AnnotationsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AnnotationsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.annotationId = annotationId
 	c.annotation = annotation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AnnotationsUpdateCall) Fields(s ...googleapi.Field) *AnnotationsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AnnotationsUpdateCall) Context(ctx context.Context) *AnnotationsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4641,9 +4687,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "annotations/{annotationId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"annotationId": c.annotationId,
@@ -4724,30 +4774,30 @@
 // method id "genomics.callsets.create":
 
 type CallsetsCreateCall struct {
-	s          *Service
-	callset    *CallSet
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	callset *CallSet
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a new call set.
 func (r *CallsetsService) Create(callset *CallSet) *CallsetsCreateCall {
-	c := &CallsetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callset = callset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsCreateCall) Fields(s ...googleapi.Field) *CallsetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsCreateCall) Context(ctx context.Context) *CallsetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -4760,9 +4810,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "callsets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -4830,30 +4884,30 @@
 // method id "genomics.callsets.delete":
 
 type CallsetsDeleteCall struct {
-	s          *Service
-	callSetId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	callSetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a call set.
 func (r *CallsetsService) Delete(callSetId string) *CallsetsDeleteCall {
-	c := &CallsetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsDeleteCall) Fields(s ...googleapi.Field) *CallsetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsDeleteCall) Context(ctx context.Context) *CallsetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4861,9 +4915,13 @@
 
 func (c *CallsetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
@@ -4913,25 +4971,24 @@
 // method id "genomics.callsets.get":
 
 type CallsetsGetCall struct {
-	s            *Service
-	callSetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	callSetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a call set by ID.
 func (r *CallsetsService) Get(callSetId string) *CallsetsGetCall {
-	c := &CallsetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsGetCall) Fields(s ...googleapi.Field) *CallsetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4941,13 +4998,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CallsetsGetCall) IfNoneMatch(entityTag string) *CallsetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsGetCall) Context(ctx context.Context) *CallsetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4955,16 +5012,20 @@
 
 func (c *CallsetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5038,32 +5099,32 @@
 // method id "genomics.callsets.patch":
 
 type CallsetsPatchCall struct {
-	s          *Service
-	callSetId  string
-	callset    *CallSet
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	callSetId string
+	callset   *CallSet
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a call set. This method supports patch semantics.
 func (r *CallsetsService) Patch(callSetId string, callset *CallSet) *CallsetsPatchCall {
-	c := &CallsetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	c.callset = callset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsPatchCall) Fields(s ...googleapi.Field) *CallsetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsPatchCall) Context(ctx context.Context) *CallsetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5076,9 +5137,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
@@ -5161,7 +5226,7 @@
 type CallsetsSearchCall struct {
 	s                     *Service
 	searchcallsetsrequest *SearchCallSetsRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -5169,22 +5234,22 @@
 //
 // Implements GlobalAllianceApi.searchCallSets.
 func (r *CallsetsService) Search(searchcallsetsrequest *SearchCallSetsRequest) *CallsetsSearchCall {
-	c := &CallsetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchcallsetsrequest = searchcallsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsSearchCall) Fields(s ...googleapi.Field) *CallsetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsSearchCall) Context(ctx context.Context) *CallsetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -5197,9 +5262,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "callsets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5268,32 +5337,32 @@
 // method id "genomics.callsets.update":
 
 type CallsetsUpdateCall struct {
-	s          *Service
-	callSetId  string
-	callset    *CallSet
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	callSetId string
+	callset   *CallSet
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a call set.
 func (r *CallsetsService) Update(callSetId string, callset *CallSet) *CallsetsUpdateCall {
-	c := &CallsetsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CallsetsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callSetId = callSetId
 	c.callset = callset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CallsetsUpdateCall) Fields(s ...googleapi.Field) *CallsetsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CallsetsUpdateCall) Context(ctx context.Context) *CallsetsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5306,9 +5375,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "callsets/{callSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"callSetId": c.callSetId,
@@ -5389,30 +5462,30 @@
 // method id "genomics.datasets.create":
 
 type DatasetsCreateCall struct {
-	s          *Service
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	dataset *Dataset
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a new dataset.
 func (r *DatasetsService) Create(dataset *Dataset) *DatasetsCreateCall {
-	c := &DatasetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsCreateCall) Fields(s ...googleapi.Field) *DatasetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsCreateCall) Context(ctx context.Context) *DatasetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -5425,9 +5498,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5495,30 +5572,30 @@
 // method id "genomics.datasets.delete":
 
 type DatasetsDeleteCall struct {
-	s          *Service
-	datasetId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a dataset.
 func (r *DatasetsService) Delete(datasetId string) *DatasetsDeleteCall {
-	c := &DatasetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsDeleteCall) Context(ctx context.Context) *DatasetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5526,9 +5603,13 @@
 
 func (c *DatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -5578,25 +5659,24 @@
 // method id "genomics.datasets.get":
 
 type DatasetsGetCall struct {
-	s            *Service
-	datasetId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a dataset by ID.
 func (r *DatasetsService) Get(datasetId string) *DatasetsGetCall {
-	c := &DatasetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsGetCall) Fields(s ...googleapi.Field) *DatasetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5606,13 +5686,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatasetsGetCall) IfNoneMatch(entityTag string) *DatasetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsGetCall) Context(ctx context.Context) *DatasetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5620,16 +5700,20 @@
 
 func (c *DatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5703,22 +5787,21 @@
 // method id "genomics.datasets.list":
 
 type DatasetsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists datasets within a project.
 func (r *DatasetsService) List() *DatasetsListCall {
-	c := &DatasetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of results returned by this request. If unspecified, defaults to 50.
 func (c *DatasetsListCall) PageSize(pageSize int64) *DatasetsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -5727,22 +5810,22 @@
 // next page of results, set this parameter to the value of
 // nextPageToken from the previous response.
 func (c *DatasetsListCall) PageToken(pageToken string) *DatasetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // ProjectNumber sets the optional parameter "projectNumber": Required.
 // The project to list datasets for.
 func (c *DatasetsListCall) ProjectNumber(projectNumber int64) *DatasetsListCall {
-	c.urlParams_.Set("projectNumber", fmt.Sprintf("%v", projectNumber))
+	c.opt_["projectNumber"] = projectNumber
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsListCall) Fields(s ...googleapi.Field) *DatasetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5752,13 +5835,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatasetsListCall) IfNoneMatch(entityTag string) *DatasetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsListCall) Context(ctx context.Context) *DatasetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5766,14 +5849,27 @@
 
 func (c *DatasetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectNumber"]; ok {
+		params.Set("projectNumber", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5855,32 +5951,32 @@
 // method id "genomics.datasets.patch":
 
 type DatasetsPatchCall struct {
-	s          *Service
-	datasetId  string
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	datasetId string
+	dataset   *Dataset
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a dataset. This method supports patch semantics.
 func (r *DatasetsService) Patch(datasetId string, dataset *Dataset) *DatasetsPatchCall {
-	c := &DatasetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsPatchCall) Fields(s ...googleapi.Field) *DatasetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsPatchCall) Context(ctx context.Context) *DatasetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5893,9 +5989,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -5976,32 +6076,32 @@
 // method id "genomics.datasets.undelete":
 
 type DatasetsUndeleteCall struct {
-	s          *Service
-	datasetId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	datasetId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Undelete: Undeletes a dataset by restoring a dataset which was
 // deleted via this API. This operation is only possible for a week
 // after the deletion occurred.
 func (r *DatasetsService) Undelete(datasetId string) *DatasetsUndeleteCall {
-	c := &DatasetsUndeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsUndeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsUndeleteCall) Fields(s ...googleapi.Field) *DatasetsUndeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsUndeleteCall) Context(ctx context.Context) *DatasetsUndeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6009,9 +6109,13 @@
 
 func (c *DatasetsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets/{datasetId}/undelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -6088,32 +6192,32 @@
 // method id "genomics.datasets.update":
 
 type DatasetsUpdateCall struct {
-	s          *Service
-	datasetId  string
-	dataset    *Dataset
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	datasetId string
+	dataset   *Dataset
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a dataset.
 func (r *DatasetsService) Update(datasetId string, dataset *Dataset) *DatasetsUpdateCall {
-	c := &DatasetsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatasetsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.datasetId = datasetId
 	c.dataset = dataset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatasetsUpdateCall) Fields(s ...googleapi.Field) *DatasetsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatasetsUpdateCall) Context(ctx context.Context) *DatasetsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6126,9 +6230,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "datasets/{datasetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"datasetId": c.datasetId,
@@ -6211,29 +6319,29 @@
 type ExperimentalJobsCreateCall struct {
 	s                            *Service
 	experimentalcreatejobrequest *ExperimentalCreateJobRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
 // Create: Creates and asynchronously runs an ad-hoc job. This is an
 // experimental call and may be removed or changed at any time.
 func (r *ExperimentalJobsService) Create(experimentalcreatejobrequest *ExperimentalCreateJobRequest) *ExperimentalJobsCreateCall {
-	c := &ExperimentalJobsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ExperimentalJobsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.experimentalcreatejobrequest = experimentalcreatejobrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ExperimentalJobsCreateCall) Fields(s ...googleapi.Field) *ExperimentalJobsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ExperimentalJobsCreateCall) Context(ctx context.Context) *ExperimentalJobsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -6246,9 +6354,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "experimental/jobs/create")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6317,31 +6429,31 @@
 // method id "genomics.jobs.cancel":
 
 type JobsCancelCall struct {
-	s          *Service
-	jobId      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	jobId string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Cancel: Cancels a job by ID. Note that it is possible for partial
 // results to be generated and stored for cancelled jobs.
 func (r *JobsService) Cancel(jobId string) *JobsCancelCall {
-	c := &JobsCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.jobId = jobId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsCancelCall) Fields(s ...googleapi.Field) *JobsCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsCancelCall) Context(ctx context.Context) *JobsCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -6349,9 +6461,13 @@
 
 func (c *JobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "jobs/{jobId}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"jobId": c.jobId,
@@ -6401,25 +6517,24 @@
 // method id "genomics.jobs.get":
 
 type JobsGetCall struct {
-	s            *Service
-	jobId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	jobId string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Gets a job by ID.
 func (r *JobsService) Get(jobId string) *JobsGetCall {
-	c := &JobsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.jobId = jobId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsGetCall) Fields(s ...googleapi.Field) *JobsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6429,13 +6544,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *JobsGetCall) IfNoneMatch(entityTag string) *JobsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsGetCall) Context(ctx context.Context) *JobsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6443,16 +6558,20 @@
 
 func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "jobs/{jobId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"jobId": c.jobId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6528,28 +6647,28 @@
 type JobsSearchCall struct {
 	s                 *Service
 	searchjobsrequest *SearchJobsRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Search: Gets a list of jobs matching the criteria.
 func (r *JobsService) Search(searchjobsrequest *SearchJobsRequest) *JobsSearchCall {
-	c := &JobsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &JobsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchjobsrequest = searchjobsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *JobsSearchCall) Fields(s ...googleapi.Field) *JobsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *JobsSearchCall) Context(ctx context.Context) *JobsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -6562,9 +6681,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "jobs/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6635,7 +6758,7 @@
 type ReadgroupsetsAlignCall struct {
 	s                         *Service
 	alignreadgroupsetsrequest *AlignReadGroupSetsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
@@ -6643,22 +6766,22 @@
 // Google Cloud Storage. See the  alignment and variant calling
 // documentation for more details.
 func (r *ReadgroupsetsService) Align(alignreadgroupsetsrequest *AlignReadGroupSetsRequest) *ReadgroupsetsAlignCall {
-	c := &ReadgroupsetsAlignCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsAlignCall{s: r.s, opt_: make(map[string]interface{})}
 	c.alignreadgroupsetsrequest = alignreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsAlignCall) Fields(s ...googleapi.Field) *ReadgroupsetsAlignCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsAlignCall) Context(ctx context.Context) *ReadgroupsetsAlignCall {
 	c.ctx_ = ctx
 	return c
@@ -6671,9 +6794,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/align")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6744,7 +6871,7 @@
 type ReadgroupsetsCallCall struct {
 	s                        *Service
 	callreadgroupsetsrequest *CallReadGroupSetsRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -6752,22 +6879,22 @@
 // files from Google Cloud Storage. See the  alignment and variant
 // calling documentation for more details.
 func (r *ReadgroupsetsService) Call(callreadgroupsetsrequest *CallReadGroupSetsRequest) *ReadgroupsetsCallCall {
-	c := &ReadgroupsetsCallCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsCallCall{s: r.s, opt_: make(map[string]interface{})}
 	c.callreadgroupsetsrequest = callreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsCallCall) Fields(s ...googleapi.Field) *ReadgroupsetsCallCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsCallCall) Context(ctx context.Context) *ReadgroupsetsCallCall {
 	c.ctx_ = ctx
 	return c
@@ -6780,9 +6907,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/call")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -6853,28 +6984,28 @@
 type ReadgroupsetsDeleteCall struct {
 	s              *Service
 	readGroupSetId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Deletes a read group set.
 func (r *ReadgroupsetsService) Delete(readGroupSetId string) *ReadgroupsetsDeleteCall {
-	c := &ReadgroupsetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsDeleteCall) Fields(s ...googleapi.Field) *ReadgroupsetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsDeleteCall) Context(ctx context.Context) *ReadgroupsetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6882,9 +7013,13 @@
 
 func (c *ReadgroupsetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
@@ -6936,7 +7071,7 @@
 type ReadgroupsetsExportCall struct {
 	s                          *Service
 	exportreadgroupsetsrequest *ExportReadGroupSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -6947,22 +7082,22 @@
 // BAM files and the original BAM file at the time of import. See
 // ImportReadGroupSets for details.
 func (r *ReadgroupsetsService) Export(exportreadgroupsetsrequest *ExportReadGroupSetsRequest) *ReadgroupsetsExportCall {
-	c := &ReadgroupsetsExportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsExportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.exportreadgroupsetsrequest = exportreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsExportCall) Fields(s ...googleapi.Field) *ReadgroupsetsExportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsExportCall) Context(ctx context.Context) *ReadgroupsetsExportCall {
 	c.ctx_ = ctx
 	return c
@@ -6975,9 +7110,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/export")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7048,23 +7187,22 @@
 type ReadgroupsetsGetCall struct {
 	s              *Service
 	readGroupSetId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Gets a read group set by ID.
 func (r *ReadgroupsetsService) Get(readGroupSetId string) *ReadgroupsetsGetCall {
-	c := &ReadgroupsetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsGetCall) Fields(s ...googleapi.Field) *ReadgroupsetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7074,13 +7212,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReadgroupsetsGetCall) IfNoneMatch(entityTag string) *ReadgroupsetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsGetCall) Context(ctx context.Context) *ReadgroupsetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7088,16 +7226,20 @@
 
 func (c *ReadgroupsetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7173,7 +7315,7 @@
 type ReadgroupsetsImportCall struct {
 	s                          *Service
 	importreadgroupsetsrequest *ImportReadGroupSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -7190,22 +7332,22 @@
 // - Unmapped reads will be stripped of positional information
 // (referenceName and position)
 func (r *ReadgroupsetsService) Import(importreadgroupsetsrequest *ImportReadGroupSetsRequest) *ReadgroupsetsImportCall {
-	c := &ReadgroupsetsImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.importreadgroupsetsrequest = importreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsImportCall) Fields(s ...googleapi.Field) *ReadgroupsetsImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsImportCall) Context(ctx context.Context) *ReadgroupsetsImportCall {
 	c.ctx_ = ctx
 	return c
@@ -7218,9 +7360,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/import")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7292,30 +7438,30 @@
 	s              *Service
 	readGroupSetId string
 	readgroupset   *ReadGroupSet
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Patch: Updates a read group set. This method supports patch
 // semantics.
 func (r *ReadgroupsetsService) Patch(readGroupSetId string, readgroupset *ReadGroupSet) *ReadgroupsetsPatchCall {
-	c := &ReadgroupsetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	c.readgroupset = readgroupset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsPatchCall) Fields(s ...googleapi.Field) *ReadgroupsetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsPatchCall) Context(ctx context.Context) *ReadgroupsetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -7328,9 +7474,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
@@ -7413,7 +7563,7 @@
 type ReadgroupsetsSearchCall struct {
 	s                          *Service
 	searchreadgroupsetsrequest *SearchReadGroupSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -7422,22 +7572,22 @@
 //
 // Implements GlobalAllianceApi.searchReadGroupSets.
 func (r *ReadgroupsetsService) Search(searchreadgroupsetsrequest *SearchReadGroupSetsRequest) *ReadgroupsetsSearchCall {
-	c := &ReadgroupsetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreadgroupsetsrequest = searchreadgroupsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsSearchCall) Fields(s ...googleapi.Field) *ReadgroupsetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsSearchCall) Context(ctx context.Context) *ReadgroupsetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -7450,9 +7600,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7524,29 +7678,29 @@
 	s              *Service
 	readGroupSetId string
 	readgroupset   *ReadGroupSet
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Updates a read group set.
 func (r *ReadgroupsetsService) Update(readGroupSetId string, readgroupset *ReadGroupSet) *ReadgroupsetsUpdateCall {
-	c := &ReadgroupsetsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	c.readgroupset = readgroupset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsUpdateCall) Fields(s ...googleapi.Field) *ReadgroupsetsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsUpdateCall) Context(ctx context.Context) *ReadgroupsetsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7559,9 +7713,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/{readGroupSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
@@ -7644,8 +7802,7 @@
 type ReadgroupsetsCoveragebucketsListCall struct {
 	s              *Service
 	readGroupSetId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -7660,7 +7817,7 @@
 // coverage 'zoom levels'. The caller must have READ permissions for the
 // target read group set.
 func (r *ReadgroupsetsCoveragebucketsService) List(readGroupSetId string) *ReadgroupsetsCoveragebucketsListCall {
-	c := &ReadgroupsetsCoveragebucketsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadgroupsetsCoveragebucketsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.readGroupSetId = readGroupSetId
 	return c
 }
@@ -7669,7 +7826,7 @@
 // of results to return in a single page. If unspecified, defaults to
 // 1024. The maximum value is 2048.
 func (c *ReadgroupsetsCoveragebucketsListCall) PageSize(pageSize int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -7678,7 +7835,7 @@
 // next page of results, set this parameter to the value of
 // nextPageToken from the previous response.
 func (c *ReadgroupsetsCoveragebucketsListCall) PageToken(pageToken string) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -7686,14 +7843,14 @@
 // the range on the reference, 0-based exclusive. If specified,
 // referenceName must also be specified.
 func (c *ReadgroupsetsCoveragebucketsListCall) RangeEnd(rangeEnd int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("rangeEnd", fmt.Sprintf("%v", rangeEnd))
+	c.opt_["range.end"] = rangeEnd
 	return c
 }
 
 // RangeReferenceName sets the optional parameter "range.referenceName":
 // The reference sequence name, for example chr1, 1, or chrX.
 func (c *ReadgroupsetsCoveragebucketsListCall) RangeReferenceName(rangeReferenceName string) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("rangeReferenceName", rangeReferenceName)
+	c.opt_["range.referenceName"] = rangeReferenceName
 	return c
 }
 
@@ -7701,7 +7858,7 @@
 // position of the range on the reference, 0-based inclusive. If
 // specified, referenceName must also be specified.
 func (c *ReadgroupsetsCoveragebucketsListCall) RangeStart(rangeStart int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("rangeStart", fmt.Sprintf("%v", rangeStart))
+	c.opt_["range.start"] = rangeStart
 	return c
 }
 
@@ -7714,15 +7871,15 @@
 // precomputed bucketWidth is currently 2048 base pairs; this is subject
 // to change.
 func (c *ReadgroupsetsCoveragebucketsListCall) TargetBucketWidth(targetBucketWidth int64) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("targetBucketWidth", fmt.Sprintf("%v", targetBucketWidth))
+	c.opt_["targetBucketWidth"] = targetBucketWidth
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadgroupsetsCoveragebucketsListCall) Fields(s ...googleapi.Field) *ReadgroupsetsCoveragebucketsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7732,13 +7889,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReadgroupsetsCoveragebucketsListCall) IfNoneMatch(entityTag string) *ReadgroupsetsCoveragebucketsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadgroupsetsCoveragebucketsListCall) Context(ctx context.Context) *ReadgroupsetsCoveragebucketsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7746,16 +7903,38 @@
 
 func (c *ReadgroupsetsCoveragebucketsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["range.end"]; ok {
+		params.Set("range.end", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["range.referenceName"]; ok {
+		params.Set("range.referenceName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["range.start"]; ok {
+		params.Set("range.start", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["targetBucketWidth"]; ok {
+		params.Set("targetBucketWidth", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "readgroupsets/{readGroupSetId}/coveragebuckets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"readGroupSetId": c.readGroupSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7865,7 +8044,7 @@
 type ReadsSearchCall struct {
 	s                  *Service
 	searchreadsrequest *SearchReadsRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -7886,22 +8065,22 @@
 //
 // Implements GlobalAllianceApi.searchReads.
 func (r *ReadsService) Search(searchreadsrequest *SearchReadsRequest) *ReadsSearchCall {
-	c := &ReadsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReadsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreadsrequest = searchreadsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReadsSearchCall) Fields(s ...googleapi.Field) *ReadsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReadsSearchCall) Context(ctx context.Context) *ReadsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -7914,9 +8093,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reads/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7985,27 +8168,26 @@
 // method id "genomics.references.get":
 
 type ReferencesGetCall struct {
-	s            *Service
-	referenceId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	referenceId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a reference.
 //
 // Implements GlobalAllianceApi.getReference.
 func (r *ReferencesService) Get(referenceId string) *ReferencesGetCall {
-	c := &ReferencesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.referenceId = referenceId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesGetCall) Fields(s ...googleapi.Field) *ReferencesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8015,13 +8197,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReferencesGetCall) IfNoneMatch(entityTag string) *ReferencesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesGetCall) Context(ctx context.Context) *ReferencesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8029,16 +8211,20 @@
 
 func (c *ReferencesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "references/{referenceId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"referenceId": c.referenceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8114,7 +8300,7 @@
 type ReferencesSearchCall struct {
 	s                       *Service
 	searchreferencesrequest *SearchReferencesRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -8123,22 +8309,22 @@
 //
 // Implements GlobalAllianceApi.searchReferences.
 func (r *ReferencesService) Search(searchreferencesrequest *SearchReferencesRequest) *ReferencesSearchCall {
-	c := &ReferencesSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreferencesrequest = searchreferencesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesSearchCall) Fields(s ...googleapi.Field) *ReferencesSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesSearchCall) Context(ctx context.Context) *ReferencesSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -8151,9 +8337,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "references/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8222,11 +8412,10 @@
 // method id "genomics.references.bases.list":
 
 type ReferencesBasesListCall struct {
-	s            *Service
-	referenceId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	referenceId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists the bases in a reference, optionally restricted to a
@@ -8234,7 +8423,7 @@
 //
 // Implements GlobalAllianceApi.getReferenceBases.
 func (r *ReferencesBasesService) List(referenceId string) *ReferencesBasesListCall {
-	c := &ReferencesBasesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesBasesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.referenceId = referenceId
 	return c
 }
@@ -8242,14 +8431,14 @@
 // End sets the optional parameter "end": The end position (0-based,
 // exclusive) of this query. Defaults to the length of this reference.
 func (c *ReferencesBasesListCall) End(end int64) *ReferencesBasesListCall {
-	c.urlParams_.Set("end", fmt.Sprintf("%v", end))
+	c.opt_["end"] = end
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Specifies the
 // maximum number of bases to return in a single page.
 func (c *ReferencesBasesListCall) PageSize(pageSize int64) *ReferencesBasesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -8258,22 +8447,22 @@
 // next page of results, set this parameter to the value of
 // nextPageToken from the previous response.
 func (c *ReferencesBasesListCall) PageToken(pageToken string) *ReferencesBasesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Start sets the optional parameter "start": The start position
 // (0-based) of this query. Defaults to 0.
 func (c *ReferencesBasesListCall) Start(start int64) *ReferencesBasesListCall {
-	c.urlParams_.Set("start", fmt.Sprintf("%v", start))
+	c.opt_["start"] = start
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesBasesListCall) Fields(s ...googleapi.Field) *ReferencesBasesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8283,13 +8472,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReferencesBasesListCall) IfNoneMatch(entityTag string) *ReferencesBasesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesBasesListCall) Context(ctx context.Context) *ReferencesBasesListCall {
 	c.ctx_ = ctx
 	return c
@@ -8297,16 +8486,32 @@
 
 func (c *ReferencesBasesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["end"]; ok {
+		params.Set("end", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start"]; ok {
+		params.Set("start", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "references/{referenceId}/bases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"referenceId": c.referenceId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8405,8 +8610,7 @@
 type ReferencesetsGetCall struct {
 	s              *Service
 	referenceSetId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -8414,16 +8618,16 @@
 //
 // Implements GlobalAllianceApi.getReferenceSet.
 func (r *ReferencesetsService) Get(referenceSetId string) *ReferencesetsGetCall {
-	c := &ReferencesetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.referenceSetId = referenceSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesetsGetCall) Fields(s ...googleapi.Field) *ReferencesetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8433,13 +8637,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReferencesetsGetCall) IfNoneMatch(entityTag string) *ReferencesetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesetsGetCall) Context(ctx context.Context) *ReferencesetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8447,16 +8651,20 @@
 
 func (c *ReferencesetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "referencesets/{referenceSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"referenceSetId": c.referenceSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8532,7 +8740,7 @@
 type ReferencesetsSearchCall struct {
 	s                          *Service
 	searchreferencesetsrequest *SearchReferenceSetsRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -8541,22 +8749,22 @@
 //
 // Implements GlobalAllianceApi.searchReferenceSets.
 func (r *ReferencesetsService) Search(searchreferencesetsrequest *SearchReferenceSetsRequest) *ReferencesetsSearchCall {
-	c := &ReferencesetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReferencesetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchreferencesetsrequest = searchreferencesetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReferencesetsSearchCall) Fields(s ...googleapi.Field) *ReferencesetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReferencesetsSearchCall) Context(ctx context.Context) *ReferencesetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -8569,9 +8777,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "referencesets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8640,30 +8852,30 @@
 // method id "genomics.variants.create":
 
 type VariantsCreateCall struct {
-	s          *Service
-	variant    *Variant
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	variant *Variant
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Create: Creates a new variant.
 func (r *VariantsService) Create(variant *Variant) *VariantsCreateCall {
-	c := &VariantsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variant = variant
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsCreateCall) Fields(s ...googleapi.Field) *VariantsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsCreateCall) Context(ctx context.Context) *VariantsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -8676,9 +8888,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variants")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8746,30 +8962,30 @@
 // method id "genomics.variants.delete":
 
 type VariantsDeleteCall struct {
-	s          *Service
-	variantId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	variantId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Deletes a variant.
 func (r *VariantsService) Delete(variantId string) *VariantsDeleteCall {
-	c := &VariantsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantId = variantId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsDeleteCall) Fields(s ...googleapi.Field) *VariantsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsDeleteCall) Context(ctx context.Context) *VariantsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8777,9 +8993,13 @@
 
 func (c *VariantsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variants/{variantId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantId": c.variantId,
@@ -8829,25 +9049,24 @@
 // method id "genomics.variants.get":
 
 type VariantsGetCall struct {
-	s            *Service
-	variantId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	variantId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a variant by ID.
 func (r *VariantsService) Get(variantId string) *VariantsGetCall {
-	c := &VariantsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantId = variantId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsGetCall) Fields(s ...googleapi.Field) *VariantsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8857,13 +9076,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VariantsGetCall) IfNoneMatch(entityTag string) *VariantsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsGetCall) Context(ctx context.Context) *VariantsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8871,16 +9090,20 @@
 
 func (c *VariantsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variants/{variantId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantId": c.variantId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8956,7 +9179,7 @@
 type VariantsSearchCall struct {
 	s                     *Service
 	searchvariantsrequest *SearchVariantsRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -8964,22 +9187,22 @@
 //
 // Implements GlobalAllianceApi.searchVariants.
 func (r *VariantsService) Search(searchvariantsrequest *SearchVariantsRequest) *VariantsSearchCall {
-	c := &VariantsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchvariantsrequest = searchvariantsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsSearchCall) Fields(s ...googleapi.Field) *VariantsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsSearchCall) Context(ctx context.Context) *VariantsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -8992,9 +9215,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variants/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9063,34 +9290,34 @@
 // method id "genomics.variants.update":
 
 type VariantsUpdateCall struct {
-	s          *Service
-	variantId  string
-	variant    *Variant
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	variantId string
+	variant   *Variant
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a variant's names and info fields. All other
 // modifications are silently ignored. Returns the modified variant
 // without its calls.
 func (r *VariantsService) Update(variantId string, variant *Variant) *VariantsUpdateCall {
-	c := &VariantsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantId = variantId
 	c.variant = variant
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsUpdateCall) Fields(s ...googleapi.Field) *VariantsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsUpdateCall) Context(ctx context.Context) *VariantsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9103,9 +9330,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variants/{variantId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantId": c.variantId,
@@ -9188,7 +9419,7 @@
 type VariantsetsCreateCall struct {
 	s          *Service
 	variantset *VariantSet
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -9198,22 +9429,22 @@
 // fields are optional. Note that the id field will be ignored, as this
 // is assigned by the server.
 func (r *VariantsetsService) Create(variantset *VariantSet) *VariantsetsCreateCall {
-	c := &VariantsetsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantset = variantset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsCreateCall) Fields(s ...googleapi.Field) *VariantsetsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsCreateCall) Context(ctx context.Context) *VariantsetsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -9226,9 +9457,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9294,29 +9529,29 @@
 type VariantsetsDeleteCall struct {
 	s            *Service
 	variantSetId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes the contents of a variant set. The variant set object
 // is not deleted.
 func (r *VariantsetsService) Delete(variantSetId string) *VariantsetsDeleteCall {
-	c := &VariantsetsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsDeleteCall) Fields(s ...googleapi.Field) *VariantsetsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsDeleteCall) Context(ctx context.Context) *VariantsetsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9324,9 +9559,13 @@
 
 func (c *VariantsetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -9379,29 +9618,29 @@
 	s                       *Service
 	variantSetId            string
 	exportvariantsetrequest *ExportVariantSetRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Export: Exports variant set data to an external destination.
 func (r *VariantsetsService) Export(variantSetId string, exportvariantsetrequest *ExportVariantSetRequest) *VariantsetsExportCall {
-	c := &VariantsetsExportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsExportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.exportvariantsetrequest = exportvariantsetrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsExportCall) Fields(s ...googleapi.Field) *VariantsetsExportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsExportCall) Context(ctx context.Context) *VariantsetsExportCall {
 	c.ctx_ = ctx
 	return c
@@ -9414,9 +9653,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}/export")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -9500,23 +9743,22 @@
 type VariantsetsGetCall struct {
 	s            *Service
 	variantSetId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets a variant set by ID.
 func (r *VariantsetsService) Get(variantSetId string) *VariantsetsGetCall {
-	c := &VariantsetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsGetCall) Fields(s ...googleapi.Field) *VariantsetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9526,13 +9768,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VariantsetsGetCall) IfNoneMatch(entityTag string) *VariantsetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsGetCall) Context(ctx context.Context) *VariantsetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -9540,16 +9782,20 @@
 
 func (c *VariantsetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9626,7 +9872,7 @@
 	s                     *Service
 	variantSetId          string
 	importvariantsrequest *ImportVariantsRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -9642,23 +9888,23 @@
 // context. Imported VCF headers are appended to the metadata already in
 // a variant set.
 func (r *VariantsetsService) ImportVariants(variantSetId string, importvariantsrequest *ImportVariantsRequest) *VariantsetsImportVariantsCall {
-	c := &VariantsetsImportVariantsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsImportVariantsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.importvariantsrequest = importvariantsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsImportVariantsCall) Fields(s ...googleapi.Field) *VariantsetsImportVariantsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsImportVariantsCall) Context(ctx context.Context) *VariantsetsImportVariantsCall {
 	c.ctx_ = ctx
 	return c
@@ -9671,9 +9917,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}/importVariants")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -9758,7 +10008,7 @@
 	s                    *Service
 	variantSetId         string
 	mergevariantsrequest *MergeVariantsRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
@@ -9771,23 +10021,23 @@
 // is added to the existing variant, and other fields (such as key/value
 // pairs) are discarded.
 func (r *VariantsetsService) MergeVariants(variantSetId string, mergevariantsrequest *MergeVariantsRequest) *VariantsetsMergeVariantsCall {
-	c := &VariantsetsMergeVariantsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsMergeVariantsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.mergevariantsrequest = mergevariantsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsMergeVariantsCall) Fields(s ...googleapi.Field) *VariantsetsMergeVariantsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsMergeVariantsCall) Context(ctx context.Context) *VariantsetsMergeVariantsCall {
 	c.ctx_ = ctx
 	return c
@@ -9800,9 +10050,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}/mergeVariants")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -9859,30 +10113,30 @@
 	s            *Service
 	variantSetId string
 	variantset   *VariantSet
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates a variant set's metadata. All other modifications are
 // silently ignored. This method supports patch semantics.
 func (r *VariantsetsService) Patch(variantSetId string, variantset *VariantSet) *VariantsetsPatchCall {
-	c := &VariantsetsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.variantset = variantset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsPatchCall) Fields(s ...googleapi.Field) *VariantsetsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsPatchCall) Context(ctx context.Context) *VariantsetsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -9895,9 +10149,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
@@ -9980,7 +10238,7 @@
 type VariantsetsSearchCall struct {
 	s                        *Service
 	searchvariantsetsrequest *SearchVariantSetsRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -9989,22 +10247,22 @@
 //
 // Implements GlobalAllianceApi.searchVariantSets.
 func (r *VariantsetsService) Search(searchvariantsetsrequest *SearchVariantSetsRequest) *VariantsetsSearchCall {
-	c := &VariantsetsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.searchvariantsetsrequest = searchvariantsetsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsSearchCall) Fields(s ...googleapi.Field) *VariantsetsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsSearchCall) Context(ctx context.Context) *VariantsetsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -10017,9 +10275,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -10091,30 +10353,30 @@
 	s            *Service
 	variantSetId string
 	variantset   *VariantSet
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates a variant set's metadata. All other modifications are
 // silently ignored.
 func (r *VariantsetsService) Update(variantSetId string, variantset *VariantSet) *VariantsetsUpdateCall {
-	c := &VariantsetsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VariantsetsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.variantSetId = variantSetId
 	c.variantset = variantset
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VariantsetsUpdateCall) Fields(s ...googleapi.Field) *VariantsetsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VariantsetsUpdateCall) Context(ctx context.Context) *VariantsetsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10127,9 +10389,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "variantsets/{variantSetId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"variantSetId": c.variantSetId,
diff --git a/gmail/v1/gmail-gen.go b/gmail/v1/gmail-gen.go
index 09baee9..cf4a601 100644
--- a/gmail/v1/gmail-gen.go
+++ b/gmail/v1/gmail-gen.go
@@ -882,25 +882,24 @@
 // method id "gmail.users.getProfile":
 
 type UsersGetProfileCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // GetProfile: Gets the current user's Gmail profile.
 func (r *UsersService) GetProfile(userId string) *UsersGetProfileCall {
-	c := &UsersGetProfileCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetProfileCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetProfileCall) Fields(s ...googleapi.Field) *UsersGetProfileCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -910,13 +909,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetProfileCall) IfNoneMatch(entityTag string) *UsersGetProfileCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetProfileCall) Context(ctx context.Context) *UsersGetProfileCall {
 	c.ctx_ = ctx
 	return c
@@ -924,16 +923,20 @@
 
 func (c *UsersGetProfileCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/profile")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1009,30 +1012,30 @@
 // method id "gmail.users.stop":
 
 type UsersStopCall struct {
-	s          *Service
-	userId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Stop: Stop receiving push notifications for the given user mailbox.
 func (r *UsersService) Stop(userId string) *UsersStopCall {
-	c := &UsersStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersStopCall) Fields(s ...googleapi.Field) *UsersStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersStopCall) Context(ctx context.Context) *UsersStopCall {
 	c.ctx_ = ctx
 	return c
@@ -1040,9 +1043,13 @@
 
 func (c *UsersStopCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -1097,30 +1104,30 @@
 	s            *Service
 	userId       string
 	watchrequest *WatchRequest
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Watch: Set up or update a push notification watch on the given user
 // mailbox.
 func (r *UsersService) Watch(userId string, watchrequest *WatchRequest) *UsersWatchCall {
-	c := &UsersWatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersWatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.watchrequest = watchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersWatchCall) Fields(s ...googleapi.Field) *UsersWatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersWatchCall) Context(ctx context.Context) *UsersWatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1133,9 +1140,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -1218,40 +1229,39 @@
 // method id "gmail.users.drafts.create":
 
 type UsersDraftsCreateCall struct {
-	s                *Service
-	userId           string
-	draft            *Draft
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	draft      *Draft
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Create: Creates a new draft with the DRAFT label.
 func (r *UsersDraftsService) Create(userId string, draft *Draft) *UsersDraftsCreateCall {
-	c := &UsersDraftsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDraftsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.draft = draft
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *UsersDraftsCreateCall) Media(r io.Reader) *UsersDraftsCreateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *UsersDraftsCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersDraftsCreateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -1260,28 +1270,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *UsersDraftsCreateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersDraftsCreateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDraftsCreateCall) Fields(s ...googleapi.Field) *UsersDraftsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *UsersDraftsCreateCall) Context(ctx context.Context) *UsersDraftsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1294,13 +1303,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -1353,6 +1366,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -1362,7 +1381,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -1432,33 +1451,33 @@
 // method id "gmail.users.drafts.delete":
 
 type UsersDraftsDeleteCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Immediately and permanently deletes the specified draft. Does
 // not simply trash it.
 func (r *UsersDraftsService) Delete(userId string, id string) *UsersDraftsDeleteCall {
-	c := &UsersDraftsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDraftsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDraftsDeleteCall) Fields(s ...googleapi.Field) *UsersDraftsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDraftsDeleteCall) Context(ctx context.Context) *UsersDraftsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1466,9 +1485,13 @@
 
 func (c *UsersDraftsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -1528,17 +1551,16 @@
 // method id "gmail.users.drafts.get":
 
 type UsersDraftsGetCall struct {
-	s            *Service
-	userId       string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets the specified draft.
 func (r *UsersDraftsService) Get(userId string, id string) *UsersDraftsGetCall {
-	c := &UsersDraftsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDraftsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
@@ -1553,15 +1575,15 @@
 //   "minimal"
 //   "raw"
 func (c *UsersDraftsGetCall) Format(format string) *UsersDraftsGetCall {
-	c.urlParams_.Set("format", format)
+	c.opt_["format"] = format
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDraftsGetCall) Fields(s ...googleapi.Field) *UsersDraftsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1571,13 +1593,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersDraftsGetCall) IfNoneMatch(entityTag string) *UsersDraftsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDraftsGetCall) Context(ctx context.Context) *UsersDraftsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1585,17 +1607,24 @@
 
 func (c *UsersDraftsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["format"]; ok {
+		params.Set("format", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"id":     c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1696,16 +1725,15 @@
 // method id "gmail.users.drafts.list":
 
 type UsersDraftsListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists the drafts in the user's mailbox.
 func (r *UsersDraftsService) List(userId string) *UsersDraftsListCall {
-	c := &UsersDraftsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDraftsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -1713,22 +1741,22 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of drafts to return.
 func (c *UsersDraftsListCall) MaxResults(maxResults int64) *UsersDraftsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token to
 // retrieve a specific page of results in the list.
 func (c *UsersDraftsListCall) PageToken(pageToken string) *UsersDraftsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDraftsListCall) Fields(s ...googleapi.Field) *UsersDraftsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1738,13 +1766,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersDraftsListCall) IfNoneMatch(entityTag string) *UsersDraftsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDraftsListCall) Context(ctx context.Context) *UsersDraftsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1752,16 +1780,26 @@
 
 func (c *UsersDraftsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1849,41 +1887,40 @@
 // method id "gmail.users.drafts.send":
 
 type UsersDraftsSendCall struct {
-	s                *Service
-	userId           string
-	draft            *Draft
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	draft      *Draft
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Send: Sends the specified, existing draft to the recipients in the
 // To, Cc, and Bcc headers.
 func (r *UsersDraftsService) Send(userId string, draft *Draft) *UsersDraftsSendCall {
-	c := &UsersDraftsSendCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDraftsSendCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.draft = draft
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *UsersDraftsSendCall) Media(r io.Reader) *UsersDraftsSendCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *UsersDraftsSendCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersDraftsSendCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -1892,28 +1929,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *UsersDraftsSendCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersDraftsSendCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDraftsSendCall) Fields(s ...googleapi.Field) *UsersDraftsSendCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *UsersDraftsSendCall) Context(ctx context.Context) *UsersDraftsSendCall {
 	c.ctx_ = ctx
 	return c
@@ -1926,13 +1962,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts/send")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -1985,6 +2025,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -1994,7 +2040,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -2064,42 +2110,41 @@
 // method id "gmail.users.drafts.update":
 
 type UsersDraftsUpdateCall struct {
-	s                *Service
-	userId           string
-	id               string
-	draft            *Draft
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	id         string
+	draft      *Draft
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Update: Replaces a draft's content.
 func (r *UsersDraftsService) Update(userId string, id string, draft *Draft) *UsersDraftsUpdateCall {
-	c := &UsersDraftsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDraftsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	c.draft = draft
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *UsersDraftsUpdateCall) Media(r io.Reader) *UsersDraftsUpdateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *UsersDraftsUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersDraftsUpdateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -2108,28 +2153,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *UsersDraftsUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersDraftsUpdateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDraftsUpdateCall) Fields(s ...googleapi.Field) *UsersDraftsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *UsersDraftsUpdateCall) Context(ctx context.Context) *UsersDraftsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2142,13 +2186,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts/{id}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -2202,6 +2250,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -2211,7 +2265,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -2288,17 +2342,16 @@
 // method id "gmail.users.history.list":
 
 type UsersHistoryListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists the history of all changes to the given mailbox. History
 // results are returned in chronological order (increasing historyId).
 func (r *UsersHistoryService) List(userId string) *UsersHistoryListCall {
-	c := &UsersHistoryListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersHistoryListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -2306,21 +2359,21 @@
 // LabelId sets the optional parameter "labelId": Only return messages
 // with a label matching the ID.
 func (c *UsersHistoryListCall) LabelId(labelId string) *UsersHistoryListCall {
-	c.urlParams_.Set("labelId", labelId)
+	c.opt_["labelId"] = labelId
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of history records to return.
 func (c *UsersHistoryListCall) MaxResults(maxResults int64) *UsersHistoryListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token to
 // retrieve a specific page of results in the list.
 func (c *UsersHistoryListCall) PageToken(pageToken string) *UsersHistoryListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2337,15 +2390,15 @@
 // no nextPageToken in the response, there are no updates to retrieve
 // and you can store the returned historyId for a future request.
 func (c *UsersHistoryListCall) StartHistoryId(startHistoryId uint64) *UsersHistoryListCall {
-	c.urlParams_.Set("startHistoryId", fmt.Sprintf("%v", startHistoryId))
+	c.opt_["startHistoryId"] = startHistoryId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersHistoryListCall) Fields(s ...googleapi.Field) *UsersHistoryListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2355,13 +2408,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersHistoryListCall) IfNoneMatch(entityTag string) *UsersHistoryListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersHistoryListCall) Context(ctx context.Context) *UsersHistoryListCall {
 	c.ctx_ = ctx
 	return c
@@ -2369,16 +2422,32 @@
 
 func (c *UsersHistoryListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["labelId"]; ok {
+		params.Set("labelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startHistoryId"]; ok {
+		params.Set("startHistoryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/history")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2476,32 +2545,32 @@
 // method id "gmail.users.labels.create":
 
 type UsersLabelsCreateCall struct {
-	s          *Service
-	userId     string
-	label      *Label
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	label  *Label
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Create: Creates a new label.
 func (r *UsersLabelsService) Create(userId string, label *Label) *UsersLabelsCreateCall {
-	c := &UsersLabelsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersLabelsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.label = label
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersLabelsCreateCall) Fields(s ...googleapi.Field) *UsersLabelsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersLabelsCreateCall) Context(ctx context.Context) *UsersLabelsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2514,9 +2583,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/labels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -2599,33 +2672,33 @@
 // method id "gmail.users.labels.delete":
 
 type UsersLabelsDeleteCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Immediately and permanently deletes the specified label and
 // removes it from any messages and threads that it is applied to.
 func (r *UsersLabelsService) Delete(userId string, id string) *UsersLabelsDeleteCall {
-	c := &UsersLabelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersLabelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersLabelsDeleteCall) Fields(s ...googleapi.Field) *UsersLabelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersLabelsDeleteCall) Context(ctx context.Context) *UsersLabelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2633,9 +2706,13 @@
 
 func (c *UsersLabelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/labels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -2695,27 +2772,26 @@
 // method id "gmail.users.labels.get":
 
 type UsersLabelsGetCall struct {
-	s            *Service
-	userId       string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets the specified label.
 func (r *UsersLabelsService) Get(userId string, id string) *UsersLabelsGetCall {
-	c := &UsersLabelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersLabelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersLabelsGetCall) Fields(s ...googleapi.Field) *UsersLabelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2725,13 +2801,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersLabelsGetCall) IfNoneMatch(entityTag string) *UsersLabelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersLabelsGetCall) Context(ctx context.Context) *UsersLabelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2739,17 +2815,21 @@
 
 func (c *UsersLabelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/labels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"id":     c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2832,25 +2912,24 @@
 // method id "gmail.users.labels.list":
 
 type UsersLabelsListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists all labels in the user's mailbox.
 func (r *UsersLabelsService) List(userId string) *UsersLabelsListCall {
-	c := &UsersLabelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersLabelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersLabelsListCall) Fields(s ...googleapi.Field) *UsersLabelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2860,13 +2939,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersLabelsListCall) IfNoneMatch(entityTag string) *UsersLabelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersLabelsListCall) Context(ctx context.Context) *UsersLabelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2874,16 +2953,20 @@
 
 func (c *UsersLabelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/labels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2959,35 +3042,35 @@
 // method id "gmail.users.labels.patch":
 
 type UsersLabelsPatchCall struct {
-	s          *Service
-	userId     string
-	id         string
-	label      *Label
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	label  *Label
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Updates the specified label. This method supports patch
 // semantics.
 func (r *UsersLabelsService) Patch(userId string, id string, label *Label) *UsersLabelsPatchCall {
-	c := &UsersLabelsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersLabelsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	c.label = label
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersLabelsPatchCall) Fields(s ...googleapi.Field) *UsersLabelsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersLabelsPatchCall) Context(ctx context.Context) *UsersLabelsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3000,9 +3083,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/labels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -3093,34 +3180,34 @@
 // method id "gmail.users.labels.update":
 
 type UsersLabelsUpdateCall struct {
-	s          *Service
-	userId     string
-	id         string
-	label      *Label
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	label  *Label
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Updates the specified label.
 func (r *UsersLabelsService) Update(userId string, id string, label *Label) *UsersLabelsUpdateCall {
-	c := &UsersLabelsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersLabelsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	c.label = label
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersLabelsUpdateCall) Fields(s ...googleapi.Field) *UsersLabelsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersLabelsUpdateCall) Context(ctx context.Context) *UsersLabelsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3133,9 +3220,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/labels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -3226,33 +3317,33 @@
 // method id "gmail.users.messages.delete":
 
 type UsersMessagesDeleteCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Immediately and permanently deletes the specified message.
 // This operation cannot be undone. Prefer messages.trash instead.
 func (r *UsersMessagesService) Delete(userId string, id string) *UsersMessagesDeleteCall {
-	c := &UsersMessagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesDeleteCall) Fields(s ...googleapi.Field) *UsersMessagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesDeleteCall) Context(ctx context.Context) *UsersMessagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3260,9 +3351,13 @@
 
 func (c *UsersMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -3320,17 +3415,16 @@
 // method id "gmail.users.messages.get":
 
 type UsersMessagesGetCall struct {
-	s            *Service
-	userId       string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets the specified message.
 func (r *UsersMessagesService) Get(userId string, id string) *UsersMessagesGetCall {
-	c := &UsersMessagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
@@ -3345,22 +3439,22 @@
 //   "minimal"
 //   "raw"
 func (c *UsersMessagesGetCall) Format(format string) *UsersMessagesGetCall {
-	c.urlParams_.Set("format", format)
+	c.opt_["format"] = format
 	return c
 }
 
 // MetadataHeaders sets the optional parameter "metadataHeaders": When
 // given and format is METADATA, only include headers specified.
-func (c *UsersMessagesGetCall) MetadataHeaders(metadataHeaders []string) *UsersMessagesGetCall {
-	c.urlParams_.SetMulti("metadataHeaders", append([]string{}, metadataHeaders...))
+func (c *UsersMessagesGetCall) MetadataHeaders(metadataHeaders string) *UsersMessagesGetCall {
+	c.opt_["metadataHeaders"] = metadataHeaders
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesGetCall) Fields(s ...googleapi.Field) *UsersMessagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3370,13 +3464,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersMessagesGetCall) IfNoneMatch(entityTag string) *UsersMessagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesGetCall) Context(ctx context.Context) *UsersMessagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3384,17 +3478,27 @@
 
 func (c *UsersMessagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["format"]; ok {
+		params.Set("format", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metadataHeaders"]; ok {
+		params.Set("metadataHeaders", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"id":     c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3500,23 +3604,22 @@
 // method id "gmail.users.messages.import":
 
 type UsersMessagesImportCall struct {
-	s                *Service
-	userId           string
-	message          *Message
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	message    *Message
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Import: Imports a message into only this user's mailbox, with
 // standard email delivery scanning and classification similar to
 // receiving via SMTP. Does not send a message.
 func (r *UsersMessagesService) Import(userId string, message *Message) *UsersMessagesImportCall {
-	c := &UsersMessagesImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.message = message
 	return c
@@ -3527,7 +3630,7 @@
 // to a Vault administrator. Only used for Google Apps for Work
 // accounts.
 func (c *UsersMessagesImportCall) Deleted(deleted bool) *UsersMessagesImportCall {
-	c.urlParams_.Set("deleted", fmt.Sprintf("%v", deleted))
+	c.opt_["deleted"] = deleted
 	return c
 }
 
@@ -3538,7 +3641,7 @@
 //   "dateHeader" (default)
 //   "receivedTime"
 func (c *UsersMessagesImportCall) InternalDateSource(internalDateSource string) *UsersMessagesImportCall {
-	c.urlParams_.Set("internalDateSource", internalDateSource)
+	c.opt_["internalDateSource"] = internalDateSource
 	return c
 }
 
@@ -3546,7 +3649,7 @@
 // Gmail spam classifier decision and never mark this email as SPAM in
 // the mailbox.
 func (c *UsersMessagesImportCall) NeverMarkSpam(neverMarkSpam bool) *UsersMessagesImportCall {
-	c.urlParams_.Set("neverMarkSpam", fmt.Sprintf("%v", neverMarkSpam))
+	c.opt_["neverMarkSpam"] = neverMarkSpam
 	return c
 }
 
@@ -3554,24 +3657,24 @@
 // Process calendar invites in the email and add any extracted meetings
 // to the Google Calendar for this user.
 func (c *UsersMessagesImportCall) ProcessForCalendar(processForCalendar bool) *UsersMessagesImportCall {
-	c.urlParams_.Set("processForCalendar", fmt.Sprintf("%v", processForCalendar))
+	c.opt_["processForCalendar"] = processForCalendar
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *UsersMessagesImportCall) Media(r io.Reader) *UsersMessagesImportCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *UsersMessagesImportCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersMessagesImportCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3580,28 +3683,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *UsersMessagesImportCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersMessagesImportCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesImportCall) Fields(s ...googleapi.Field) *UsersMessagesImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *UsersMessagesImportCall) Context(ctx context.Context) *UsersMessagesImportCall {
 	c.ctx_ = ctx
 	return c
@@ -3614,13 +3716,29 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["deleted"]; ok {
+		params.Set("deleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["internalDateSource"]; ok {
+		params.Set("internalDateSource", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["neverMarkSpam"]; ok {
+		params.Set("neverMarkSpam", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processForCalendar"]; ok {
+		params.Set("processForCalendar", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/import")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -3673,6 +3791,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3682,7 +3806,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3784,23 +3908,22 @@
 // method id "gmail.users.messages.insert":
 
 type UsersMessagesInsertCall struct {
-	s                *Service
-	userId           string
-	message          *Message
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	message    *Message
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Directly inserts a message into only this user's mailbox
 // similar to IMAP APPEND, bypassing most scanning and classification.
 // Does not send a message.
 func (r *UsersMessagesService) Insert(userId string, message *Message) *UsersMessagesInsertCall {
-	c := &UsersMessagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.message = message
 	return c
@@ -3811,7 +3934,7 @@
 // to a Vault administrator. Only used for Google Apps for Work
 // accounts.
 func (c *UsersMessagesInsertCall) Deleted(deleted bool) *UsersMessagesInsertCall {
-	c.urlParams_.Set("deleted", fmt.Sprintf("%v", deleted))
+	c.opt_["deleted"] = deleted
 	return c
 }
 
@@ -3822,24 +3945,24 @@
 //   "dateHeader"
 //   "receivedTime" (default)
 func (c *UsersMessagesInsertCall) InternalDateSource(internalDateSource string) *UsersMessagesInsertCall {
-	c.urlParams_.Set("internalDateSource", internalDateSource)
+	c.opt_["internalDateSource"] = internalDateSource
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *UsersMessagesInsertCall) Media(r io.Reader) *UsersMessagesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *UsersMessagesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersMessagesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3848,28 +3971,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *UsersMessagesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersMessagesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesInsertCall) Fields(s ...googleapi.Field) *UsersMessagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *UsersMessagesInsertCall) Context(ctx context.Context) *UsersMessagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3882,13 +4004,23 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["deleted"]; ok {
+		params.Set("deleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["internalDateSource"]; ok {
+		params.Set("internalDateSource", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -3941,6 +4073,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3950,7 +4088,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -4040,16 +4178,15 @@
 // method id "gmail.users.messages.list":
 
 type UsersMessagesListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists the messages in the user's mailbox.
 func (r *UsersMessagesService) List(userId string) *UsersMessagesListCall {
-	c := &UsersMessagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -4057,28 +4194,28 @@
 // IncludeSpamTrash sets the optional parameter "includeSpamTrash":
 // Include messages from SPAM and TRASH in the results.
 func (c *UsersMessagesListCall) IncludeSpamTrash(includeSpamTrash bool) *UsersMessagesListCall {
-	c.urlParams_.Set("includeSpamTrash", fmt.Sprintf("%v", includeSpamTrash))
+	c.opt_["includeSpamTrash"] = includeSpamTrash
 	return c
 }
 
 // LabelIds sets the optional parameter "labelIds": Only return messages
 // with labels that match all of the specified label IDs.
-func (c *UsersMessagesListCall) LabelIds(labelIds []string) *UsersMessagesListCall {
-	c.urlParams_.SetMulti("labelIds", append([]string{}, labelIds...))
+func (c *UsersMessagesListCall) LabelIds(labelIds string) *UsersMessagesListCall {
+	c.opt_["labelIds"] = labelIds
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of messages to return.
 func (c *UsersMessagesListCall) MaxResults(maxResults int64) *UsersMessagesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token to
 // retrieve a specific page of results in the list.
 func (c *UsersMessagesListCall) PageToken(pageToken string) *UsersMessagesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4086,15 +4223,15 @@
 // specified query. Supports the same query format as the Gmail search
 // box. For example, "from:someuser@example.com rfc822msgid: is:unread".
 func (c *UsersMessagesListCall) Q(q string) *UsersMessagesListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesListCall) Fields(s ...googleapi.Field) *UsersMessagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4104,13 +4241,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersMessagesListCall) IfNoneMatch(entityTag string) *UsersMessagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesListCall) Context(ctx context.Context) *UsersMessagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -4118,16 +4255,35 @@
 
 func (c *UsersMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeSpamTrash"]; ok {
+		params.Set("includeSpamTrash", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labelIds"]; ok {
+		params.Set("labelIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4235,30 +4391,30 @@
 	userId               string
 	id                   string
 	modifymessagerequest *ModifyMessageRequest
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Modify: Modifies the labels on the specified message.
 func (r *UsersMessagesService) Modify(userId string, id string, modifymessagerequest *ModifyMessageRequest) *UsersMessagesModifyCall {
-	c := &UsersMessagesModifyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesModifyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	c.modifymessagerequest = modifymessagerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesModifyCall) Fields(s ...googleapi.Field) *UsersMessagesModifyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesModifyCall) Context(ctx context.Context) *UsersMessagesModifyCall {
 	c.ctx_ = ctx
 	return c
@@ -4271,9 +4427,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/{id}/modify")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -4363,41 +4523,40 @@
 // method id "gmail.users.messages.send":
 
 type UsersMessagesSendCall struct {
-	s                *Service
-	userId           string
-	message          *Message
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	message    *Message
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Send: Sends the specified message to the recipients in the To, Cc,
 // and Bcc headers.
 func (r *UsersMessagesService) Send(userId string, message *Message) *UsersMessagesSendCall {
-	c := &UsersMessagesSendCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesSendCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.message = message
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *UsersMessagesSendCall) Media(r io.Reader) *UsersMessagesSendCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *UsersMessagesSendCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersMessagesSendCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -4406,28 +4565,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *UsersMessagesSendCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersMessagesSendCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesSendCall) Fields(s ...googleapi.Field) *UsersMessagesSendCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *UsersMessagesSendCall) Context(ctx context.Context) *UsersMessagesSendCall {
 	c.ctx_ = ctx
 	return c
@@ -4440,13 +4598,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/send")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -4499,6 +4661,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -4508,7 +4676,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -4579,32 +4747,32 @@
 // method id "gmail.users.messages.trash":
 
 type UsersMessagesTrashCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Trash: Moves the specified message to the trash.
 func (r *UsersMessagesService) Trash(userId string, id string) *UsersMessagesTrashCall {
-	c := &UsersMessagesTrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesTrashCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesTrashCall) Fields(s ...googleapi.Field) *UsersMessagesTrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesTrashCall) Context(ctx context.Context) *UsersMessagesTrashCall {
 	c.ctx_ = ctx
 	return c
@@ -4612,9 +4780,13 @@
 
 func (c *UsersMessagesTrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/{id}/trash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -4700,32 +4872,32 @@
 // method id "gmail.users.messages.untrash":
 
 type UsersMessagesUntrashCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Untrash: Removes the specified message from the trash.
 func (r *UsersMessagesService) Untrash(userId string, id string) *UsersMessagesUntrashCall {
-	c := &UsersMessagesUntrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesUntrashCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesUntrashCall) Fields(s ...googleapi.Field) *UsersMessagesUntrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesUntrashCall) Context(ctx context.Context) *UsersMessagesUntrashCall {
 	c.ctx_ = ctx
 	return c
@@ -4733,9 +4905,13 @@
 
 func (c *UsersMessagesUntrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/{id}/untrash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -4821,29 +4997,28 @@
 // method id "gmail.users.messages.attachments.get":
 
 type UsersMessagesAttachmentsGetCall struct {
-	s            *Service
-	userId       string
-	messageId    string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	userId    string
+	messageId string
+	id        string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets the specified message attachment.
 func (r *UsersMessagesAttachmentsService) Get(userId string, messageId string, id string) *UsersMessagesAttachmentsGetCall {
-	c := &UsersMessagesAttachmentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersMessagesAttachmentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.messageId = messageId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersMessagesAttachmentsGetCall) Fields(s ...googleapi.Field) *UsersMessagesAttachmentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4853,13 +5028,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersMessagesAttachmentsGetCall) IfNoneMatch(entityTag string) *UsersMessagesAttachmentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersMessagesAttachmentsGetCall) Context(ctx context.Context) *UsersMessagesAttachmentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4867,9 +5042,13 @@
 
 func (c *UsersMessagesAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/{messageId}/attachments/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":    c.userId,
@@ -4877,8 +5056,8 @@
 		"id":        c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4967,33 +5146,33 @@
 // method id "gmail.users.threads.delete":
 
 type UsersThreadsDeleteCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Immediately and permanently deletes the specified thread.
 // This operation cannot be undone. Prefer threads.trash instead.
 func (r *UsersThreadsService) Delete(userId string, id string) *UsersThreadsDeleteCall {
-	c := &UsersThreadsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersThreadsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersThreadsDeleteCall) Fields(s ...googleapi.Field) *UsersThreadsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersThreadsDeleteCall) Context(ctx context.Context) *UsersThreadsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5001,9 +5180,13 @@
 
 func (c *UsersThreadsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/threads/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -5061,17 +5244,16 @@
 // method id "gmail.users.threads.get":
 
 type UsersThreadsGetCall struct {
-	s            *Service
-	userId       string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets the specified thread.
 func (r *UsersThreadsService) Get(userId string, id string) *UsersThreadsGetCall {
-	c := &UsersThreadsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersThreadsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
@@ -5085,22 +5267,22 @@
 //   "metadata"
 //   "minimal"
 func (c *UsersThreadsGetCall) Format(format string) *UsersThreadsGetCall {
-	c.urlParams_.Set("format", format)
+	c.opt_["format"] = format
 	return c
 }
 
 // MetadataHeaders sets the optional parameter "metadataHeaders": When
 // given and format is METADATA, only include headers specified.
-func (c *UsersThreadsGetCall) MetadataHeaders(metadataHeaders []string) *UsersThreadsGetCall {
-	c.urlParams_.SetMulti("metadataHeaders", append([]string{}, metadataHeaders...))
+func (c *UsersThreadsGetCall) MetadataHeaders(metadataHeaders string) *UsersThreadsGetCall {
+	c.opt_["metadataHeaders"] = metadataHeaders
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersThreadsGetCall) Fields(s ...googleapi.Field) *UsersThreadsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5110,13 +5292,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersThreadsGetCall) IfNoneMatch(entityTag string) *UsersThreadsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersThreadsGetCall) Context(ctx context.Context) *UsersThreadsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5124,17 +5306,27 @@
 
 func (c *UsersThreadsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["format"]; ok {
+		params.Set("format", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["metadataHeaders"]; ok {
+		params.Set("metadataHeaders", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/threads/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"id":     c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5238,16 +5430,15 @@
 // method id "gmail.users.threads.list":
 
 type UsersThreadsListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Lists the threads in the user's mailbox.
 func (r *UsersThreadsService) List(userId string) *UsersThreadsListCall {
-	c := &UsersThreadsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersThreadsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -5255,28 +5446,28 @@
 // IncludeSpamTrash sets the optional parameter "includeSpamTrash":
 // Include threads from SPAM and TRASH in the results.
 func (c *UsersThreadsListCall) IncludeSpamTrash(includeSpamTrash bool) *UsersThreadsListCall {
-	c.urlParams_.Set("includeSpamTrash", fmt.Sprintf("%v", includeSpamTrash))
+	c.opt_["includeSpamTrash"] = includeSpamTrash
 	return c
 }
 
 // LabelIds sets the optional parameter "labelIds": Only return threads
 // with labels that match all of the specified label IDs.
-func (c *UsersThreadsListCall) LabelIds(labelIds []string) *UsersThreadsListCall {
-	c.urlParams_.SetMulti("labelIds", append([]string{}, labelIds...))
+func (c *UsersThreadsListCall) LabelIds(labelIds string) *UsersThreadsListCall {
+	c.opt_["labelIds"] = labelIds
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of threads to return.
 func (c *UsersThreadsListCall) MaxResults(maxResults int64) *UsersThreadsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token to
 // retrieve a specific page of results in the list.
 func (c *UsersThreadsListCall) PageToken(pageToken string) *UsersThreadsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -5284,15 +5475,15 @@
 // specified query. Supports the same query format as the Gmail search
 // box. For example, "from:someuser@example.com rfc822msgid: is:unread".
 func (c *UsersThreadsListCall) Q(q string) *UsersThreadsListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersThreadsListCall) Fields(s ...googleapi.Field) *UsersThreadsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5302,13 +5493,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersThreadsListCall) IfNoneMatch(entityTag string) *UsersThreadsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersThreadsListCall) Context(ctx context.Context) *UsersThreadsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5316,16 +5507,35 @@
 
 func (c *UsersThreadsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["includeSpamTrash"]; ok {
+		params.Set("includeSpamTrash", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labelIds"]; ok {
+		params.Set("labelIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/threads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5433,31 +5643,31 @@
 	userId              string
 	id                  string
 	modifythreadrequest *ModifyThreadRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Modify: Modifies the labels applied to the thread. This applies to
 // all messages in the thread.
 func (r *UsersThreadsService) Modify(userId string, id string, modifythreadrequest *ModifyThreadRequest) *UsersThreadsModifyCall {
-	c := &UsersThreadsModifyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersThreadsModifyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	c.modifythreadrequest = modifythreadrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersThreadsModifyCall) Fields(s ...googleapi.Field) *UsersThreadsModifyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersThreadsModifyCall) Context(ctx context.Context) *UsersThreadsModifyCall {
 	c.ctx_ = ctx
 	return c
@@ -5470,9 +5680,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/threads/{id}/modify")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -5562,32 +5776,32 @@
 // method id "gmail.users.threads.trash":
 
 type UsersThreadsTrashCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Trash: Moves the specified thread to the trash.
 func (r *UsersThreadsService) Trash(userId string, id string) *UsersThreadsTrashCall {
-	c := &UsersThreadsTrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersThreadsTrashCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersThreadsTrashCall) Fields(s ...googleapi.Field) *UsersThreadsTrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersThreadsTrashCall) Context(ctx context.Context) *UsersThreadsTrashCall {
 	c.ctx_ = ctx
 	return c
@@ -5595,9 +5809,13 @@
 
 func (c *UsersThreadsTrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/threads/{id}/trash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -5683,32 +5901,32 @@
 // method id "gmail.users.threads.untrash":
 
 type UsersThreadsUntrashCall struct {
-	s          *Service
-	userId     string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	id     string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Untrash: Removes the specified thread from the trash.
 func (r *UsersThreadsService) Untrash(userId string, id string) *UsersThreadsUntrashCall {
-	c := &UsersThreadsUntrashCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersThreadsUntrashCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersThreadsUntrashCall) Fields(s ...googleapi.Field) *UsersThreadsUntrashCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersThreadsUntrashCall) Context(ctx context.Context) *UsersThreadsUntrashCall {
 	c.ctx_ = ctx
 	return c
@@ -5716,9 +5934,13 @@
 
 func (c *UsersThreadsUntrashCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/threads/{id}/untrash")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
diff --git a/google-api-go-generator/gen.go b/google-api-go-generator/gen.go
index 682c91c..944c52c 100644
--- a/google-api-go-generator/gen.go
+++ b/google-api-go-generator/gen.go
@@ -467,21 +467,21 @@
 	p, pn := a.p, a.pn
 	reslist := a.Resources(a.m, "")
 
-	pn("// Package %s provides access to the %s.", pkg, jstr(m, "title"))
+	p("// Package %s provides access to the %s.\n", pkg, jstr(m, "title"))
 	docsLink = jstr(m, "documentationLink")
 	if docsLink != "" {
-		pn("//")
-		pn("// See %s", docsLink)
+		p("//\n")
+		p("// See %s\n", docsLink)
 	}
-	pn("//\n// Usage example:")
-	pn("//")
-	pn("//   import %q", a.Target())
-	pn("//   ...")
-	pn("//   %sService, err := %s.New(oauthHttpClient)", pkg, pkg)
+	p("//\n// Usage example:\n")
+	p("//\n")
+	p("//   import %q\n", a.Target())
+	p("//   ...\n")
+	p("//   %sService, err := %s.New(oauthHttpClient)\n", pkg, pkg)
 
-	pn("package %s // import %q", pkg, a.Target())
+	p("package %s // import %q\n", pkg, a.Target())
 	p("\n")
-	pn("import (")
+	p("import (\n")
 	for _, pkg := range []string{
 		"bytes",
 		*apiPackageBase + "/googleapi",
@@ -497,10 +497,10 @@
 		*contextPkg,
 		path.Join(*contextPkg, "ctxhttp"),
 	} {
-		pn("\t%q", pkg)
+		p("\t%q\n", pkg)
 	}
-	pn(")")
-	pn("\n// Always reference these packages, just in case the auto-generated code")
+	p(")\n\n")
+	pn("// Always reference these packages, just in case the auto-generated code")
 	pn("// below doesn't.")
 	pn("var _ = bytes.NewBuffer")
 	pn("var _ = strconv.Itoa")
@@ -516,7 +516,8 @@
 	pn("const apiId = %q", jstr(m, "id"))
 	pn("const apiName = %q", jstr(m, "name"))
 	pn("const apiVersion = %q", jstr(m, "version"))
-	pn("const basePath = %q", a.apiBaseURL())
+	p("const basePath = %q\n", a.apiBaseURL())
+	p("\n")
 
 	a.generateScopeConstants()
 
@@ -531,15 +532,15 @@
 	pn("}")
 
 	a.GetName("Service") // ignore return value; no user-defined names yet
-	pn("\ntype Service struct {")
-	pn(" client *http.Client")
-	pn(" BasePath string // API endpoint base URL")
-	pn(" UserAgent string // optional additional User-Agent fragment")
+	p("\ntype Service struct {\n")
+	p("\tclient *http.Client\n")
+	p("\tBasePath string // API endpoint base URL\n")
+	pn("\tUserAgent string // optional additional User-Agent fragment")
 
 	for _, res := range reslist {
-		pn("\n\t%s\t*%s", res.GoField(), res.GoType())
+		p("\n\t%s\t*%s\n", res.GoField(), res.GoType())
 	}
-	pn("}")
+	p("}\n")
 	pn("\nfunc (s *Service) userAgent() string {")
 	pn(` if s.UserAgent == "" { return googleapi.UserAgent }`)
 	pn(` return googleapi.UserAgent + " " + s.UserAgent`)
@@ -592,8 +593,8 @@
 		return
 	}
 
-	a.pn("// OAuth2 scopes used by this API.")
-	a.pn("const (")
+	a.p("// OAuth2 scopes used by this API.\n")
+	a.p("const (\n")
 	n := 0
 	for _, scopeName := range sortedKeys(scopes) {
 		mi := scopes[scopeName]
@@ -605,7 +606,7 @@
 		if des := jstr(mi.(map[string]interface{}), "description"); des != "" {
 			a.p("%s", asComment("\t", des))
 		}
-		a.pn("\t%s = %q", ident, scopeName)
+		a.p("\t%s = %q\n", ident, scopeName)
 	}
 	a.p(")\n\n")
 }
@@ -1137,7 +1138,7 @@
 
 func (s *Schema) writeSchemaCode(api *API) {
 	if s.Type().IsAny() {
-		s.api.pn("\ntype %s interface{}", s.GoName())
+		s.api.p("\ntype %s interface{}\n", s.GoName())
 		return
 	}
 	if s.Type().IsStruct() && !s.Type().IsMap() {
@@ -1152,16 +1153,16 @@
 
 	if destSchema, ok := s.Type().ReferenceSchema(); ok {
 		// Convert it to a struct using embedding.
-		s.api.pn("\ntype %s struct {", s.GoName())
-		s.api.pn(" %s", destSchema.GoName())
-		s.api.pn("}")
+		s.api.p("\ntype %s struct {\n", s.GoName())
+		s.api.p("\t%s\n", destSchema.GoName())
+		s.api.p("}\n")
 		return
 	}
 
 	if s.Type().IsSimple() {
 		apitype := jstr(s.m, "type")
 		typ := mustSimpleTypeConvert(apitype, jstr(s.m, "format"))
-		s.api.pn("\ntype %s %s", s.GoName(), typ)
+		s.api.p("\ntype %s %s\n", s.GoName(), typ)
 		return
 	}
 
@@ -1177,8 +1178,8 @@
 	s.api.p("\ntype %s map[string]interface{}\n\n", s.GoName())
 
 	// Write out the "Type" method that identifies the variant type.
-	s.api.pn("func (t %s) Type() string {", s.GoName())
-	s.api.pn("  return googleapi.VariantType(t)")
+	s.api.p("func (t %s) Type() string {\n", s.GoName())
+	s.api.p("  return googleapi.VariantType(t)\n")
 	s.api.p("}\n\n")
 
 	// Write out helper methods to convert each possible variant.
@@ -1196,12 +1197,12 @@
 			continue
 		}
 
-		s.api.pn("func (t %s) %s() (r %s, ok bool) {", s.GoName(), initialCap(val), reftype)
-		s.api.pn(" if t.Type() != %q {", initialCap(val))
-		s.api.pn("  return r, false")
-		s.api.pn(" }")
-		s.api.pn(" ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)")
-		s.api.pn(" return r, ok")
+		s.api.p("func (t %s) %s() (r %s, ok bool) {\n", s.GoName(), initialCap(val), reftype)
+		s.api.p("  if t.Type() != %q {\n", initialCap(val))
+		s.api.p("    return r, false\n")
+		s.api.p("  }\n")
+		s.api.p("  ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)\n")
+		s.api.p("  return r, ok\n")
 		s.api.p("}\n\n")
 	}
 }
@@ -1220,7 +1221,7 @@
 	if des != "" {
 		s.api.p("%s", asComment("", fmt.Sprintf("%s: %s", s.GoName(), des)))
 	}
-	s.api.pn("type %s struct {", s.GoName())
+	s.api.p("type %s struct {\n", s.GoName())
 
 	np := new(namePool)
 	forceSendName := np.Get("ForceSendFields")
@@ -1250,7 +1251,7 @@
 			typ = "*" + typ
 		}
 
-		s.api.pn(" %s %s `json:\"%s,omitempty%s\"`", pname, typ, p.APIName(), extraOpt)
+		s.api.p("\t%s %s `json:\"%s,omitempty%s\"`\n", pname, typ, p.APIName(), extraOpt)
 		if firstFieldName == "" {
 			firstFieldName = pname
 		}
@@ -1261,7 +1262,7 @@
 			s.api.p("\n")
 		}
 		s.api.p("%s", asComment("\t", "ServerResponse contains the HTTP response code and headers from the server."))
-		s.api.pn(" googleapi.ServerResponse `json:\"-\"`")
+		s.api.p("\tgoogleapi.ServerResponse `json:\"-\"`\n")
 	}
 
 	if firstFieldName == "" {
@@ -1349,7 +1350,7 @@
 }
 
 func (r *Resource) generateType() {
-	pn := r.api.pn
+	p, pn := r.api.p, r.api.pn
 	t := r.GoType()
 	pn(fmt.Sprintf("func New%s(s *Service) *%s {", t, t))
 	pn("rs := &%s{s : s}", t)
@@ -1359,12 +1360,12 @@
 	pn("return rs")
 	pn("}")
 
-	pn("\ntype %s struct {", t)
-	pn(" s *Service")
+	p("\ntype %s struct {\n", t)
+	p("\ts *Service\n")
 	for _, res := range r.resources {
-		pn("\n\t%s\t*%s", res.GoField(), res.GoType())
+		p("\n\t%s\t*%s\n", res.GoField(), res.GoType())
 	}
-	pn("}")
+	p("}\n")
 
 	for _, res := range r.resources {
 		res.generateType()
@@ -1492,22 +1493,24 @@
 	})
 }
 
+func (m *Method) RequiredRepeatedQueryParams() []*Param {
+	return m.grepParams(func(p *Param) bool {
+		return p.IsRequired() && p.IsRepeated() && p.Location() == "query"
+	})
+}
+
+func (m *Method) RequiredQueryParams() []*Param {
+	return m.grepParams(func(p *Param) bool {
+		return p.IsRequired() && !p.IsRepeated() && p.Location() == "query"
+	})
+}
+
 func (meth *Method) cacheResponseTypes(api *API) {
 	if retType := responseType(api, meth.m); retType != "" && strings.HasPrefix(retType, "*") {
 		api.responseTypes[retType] = true
 	}
 }
 
-// convertMultiParams builds a []string temp variable from a slice
-// of non-strings and returns the name of the temp variable.
-func convertMultiParams(a *API, param string) string {
-	a.pn(" var %v_ []string", param)
-	a.pn(" for _, v := range %v {", param)
-	a.pn(`  %v_ = append(%v_, fmt.Sprintf("%%v", v))`, param, param)
-	a.pn(" }")
-	return param + "_"
-}
-
 func (meth *Method) generateCode() {
 	res := meth.r // may be nil if a top-level method
 	a := meth.api
@@ -1529,27 +1532,20 @@
 	}
 	callName := a.GetName(prefix + methodName + "Call")
 
-	pn("\ntype %s struct {", callName)
-	pn(" s *Service")
+	p("\ntype %s struct {\n", callName)
+	p("\ts *Service\n")
 	for _, arg := range args.l {
-		if arg.location != "query" {
-			pn(" %s %s", arg.goname, arg.gotype)
-		}
+		p("\t%s %s\n", arg.goname, arg.gotype)
 	}
-	pn(" urlParams_ internal.URLParams")
-	httpMethod := jstr(meth.m, "httpMethod")
-	if httpMethod == "GET" {
-		pn(" ifNoneMatch_ string")
-	}
+	p("\topt_ map[string]interface{}\n")
 	if meth.supportsMediaUpload() {
-		pn(" media_     io.Reader")
-		pn(" resumable_ googleapi.SizeReaderAt")
-		pn(" mediaType_ string")
-		pn(" protocol_  string")
-		pn(" progressUpdater_  googleapi.ProgressUpdater")
+		p("\tmedia_     io.Reader\n")
+		p("\tresumable_ googleapi.SizeReaderAt\n")
+		p("\tmediaType_ string\n")
+		p("\tprotocol_  string\n")
 	}
-	pn(" ctx_ context.Context")
-	pn("}")
+	p("\tctx_ context.Context\n")
+	p("}\n")
 
 	p("\n%s", asComment("", methodName+": "+jstr(meth.m, "description")))
 	if res != nil {
@@ -1560,41 +1556,19 @@
 
 	var servicePtr string
 	if res == nil {
-		pn("func (s *Service) %s(%s) *%s {", methodName, args, callName)
+		p("func (s *Service) %s(%s) *%s {\n", methodName, args, callName)
 		servicePtr = "s"
 	} else {
-		pn("func (r *%s) %s(%s) *%s {", res.GoType(), methodName, args, callName)
+		p("func (r *%s) %s(%s) *%s {\n", res.GoType(), methodName, args, callName)
 		servicePtr = "r.s"
 	}
 
-	pn(" c := &%s{s: %s, urlParams_: make(internal.URLParams)}", callName, servicePtr)
+	p("\tc := &%s{s: %s, opt_: make(map[string]interface{})}\n", callName, servicePtr)
 	for _, arg := range args.l {
-		// TODO(gmlewis): clean up and consolidate this section.
-		// See: https://code-review.googlesource.com/#/c/3520/18/google-api-go-generator/gen.go
-		if arg.location == "query" {
-			switch arg.gotype {
-			case "[]string":
-				pn(" c.urlParams_.SetMulti(%q, append([]string{}, %v...))", arg.goname, arg.goname)
-			case "string":
-				pn(" c.urlParams_.Set(%q, %v)", arg.goname, arg.goname)
-			default:
-				if strings.HasPrefix(arg.gotype, "[]") {
-					tmpVar := convertMultiParams(a, arg.goname)
-					pn(" c.urlParams_.SetMulti(%q, %v)", arg.goname, tmpVar)
-				} else {
-					pn(" c.urlParams_.Set(%q, fmt.Sprintf(\"%%v\", %v))", arg.goname, arg.goname)
-				}
-			}
-			continue
-		}
-		if arg.gotype == "[]string" {
-			pn(" c.%s = append([]string{}, %s...)", arg.goname, arg.goname) // Make a copy of the []string.
-			continue
-		}
-		pn(" c.%s = %s", arg.goname, arg.goname)
+		p("\tc.%s = %s\n", arg.goname, arg.goname)
 	}
-	pn(" return c")
-	pn("}")
+	p("\treturn c\n")
+	p("}\n")
 
 	for _, opt := range meth.OptParams() {
 		setter := initialCap(opt.name)
@@ -1606,45 +1580,26 @@
 		np := new(namePool)
 		np.Get("c") // take the receiver's name
 		paramName := np.Get(validGoIdentifer(opt.name))
-		typePrefix := ""
-		if opt.IsRepeated() {
-			typePrefix = "[]"
-		}
-		pn("func (c *%s) %s(%s %s%s) *%s {", callName, setter, paramName, typePrefix, opt.GoType(), callName)
-		if opt.IsRepeated() {
-			if opt.GoType() == "string" {
-				pn("c.urlParams_.SetMulti(%q, append([]string{}, %v...))", paramName, paramName)
-			} else {
-				tmpVar := convertMultiParams(a, paramName)
-				pn(" c.urlParams_.SetMulti(%q, %v)", paramName, tmpVar)
-			}
-		} else {
-			if opt.GoType() == "string" {
-				pn("c.urlParams_.Set(%q, %v)", paramName, paramName)
-			} else {
-				pn("c.urlParams_.Set(%q, fmt.Sprintf(\"%%v\", %v))", paramName, paramName)
-			}
-		}
-		pn("return c")
-		pn("}")
+		p("func (c *%s) %s(%s %s) *%s {\n", callName, setter, paramName, opt.GoType(), callName)
+		p("c.opt_[%q] = %s\n", opt.name, paramName)
+		p("return c\n")
+		p("}\n")
 	}
 
 	if meth.supportsMediaUpload() {
-		comment := "Media specifies the media to upload in a single chunk. " +
-			"At most one of Media and ResumableMedia may be set."
-		p("\n%s", asComment("", comment))
+		pn("\n// Media specifies the media to upload in a single chunk.")
+		pn("// At most one of Media and ResumableMedia may be set.")
 		pn("func (c *%s) Media(r io.Reader) *%s {", callName, callName)
 		pn("c.media_ = r")
 		pn(`c.protocol_ = "multipart"`)
 		pn("return c")
 		pn("}")
-		comment = "ResumableMedia specifies the media to upload in chunks and can be canceled with ctx. " +
-			"At most one of Media and ResumableMedia may be set. " +
-			`mediaType identifies the MIME media type of the upload, such as "image/png". ` +
-			`If mediaType is "", it will be auto-detected. ` +
-			`The provided ctx will supersede any context previously provided to ` +
-			`the Context method.`
-		p("\n%s", asComment("", comment))
+		pn("\n// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.")
+		pn("// At most one of Media and ResumableMedia may be set.")
+		pn(`// mediaType identifies the MIME media type of the upload, such as "image/png".`)
+		pn(`// If mediaType is "", it will be auto-detected.`)
+		pn(`// The provided ctx will supersede any context previously provided to `)
+		pn(`// the Context method.`)
 		pn("func (c *%s) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *%s {", callName, callName)
 		pn("c.ctx_ = ctx")
 		pn("c.resumable_ = io.NewSectionReader(r, 0, size)")
@@ -1652,24 +1607,23 @@
 		pn(`c.protocol_ = "resumable"`)
 		pn("return c")
 		pn("}")
-		comment = "ProgressUpdater provides a callback function that will be called after every chunk. " +
-			"It should be a low-latency function in order to not slow down the upload operation. " +
-			"This should only be called when using ResumableMedia (as opposed to Media)."
-		p("\n%s", asComment("", comment))
+		pn("\n// ProgressUpdater provides a callback function that will be called after every chunk.")
+		pn("// It should be a low-latency function in order to not slow down the upload operation.")
+		pn("// This should only be called when using ResumableMedia (as opposed to Media).")
 		pn("func (c *%s) ProgressUpdater(pu googleapi.ProgressUpdater) *%s {", callName, callName)
-		pn(`c.progressUpdater_ = pu`)
+		pn(`c.opt_["progressUpdater"] = pu`)
 		pn("return c")
 		pn("}")
 	}
 
-	comment := "Fields allows partial responses to be retrieved. " +
-		"See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse " +
-		"for more information."
-	p("\n%s", asComment("", comment))
+	pn("\n// Fields allows partial responses to be retrieved.")
+	pn("// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse")
+	pn("// for more information.")
 	pn("func (c *%s) Fields(s ...googleapi.Field) *%s {", callName, callName)
-	pn(`c.urlParams_.Set("fields", googleapi.CombineFields(s))`)
+	pn(`c.opt_["fields"] = googleapi.CombineFields(s)`)
 	pn("return c")
 	pn("}")
+	httpMethod := jstr(meth.m, "httpMethod")
 	if httpMethod == "GET" {
 		// Note that non-GET responses are excluded from supporting If-None-Match.
 		// See https://github.com/google/google-api-go-client/issues/107 for more info.
@@ -1680,8 +1634,8 @@
 			"is the result of In-None-Match."
 		p("\n%s", asComment("", comment))
 		pn("func (c *%s) IfNoneMatch(entityTag string) *%s {", callName, callName)
-		pn(" c.ifNoneMatch_ = entityTag")
-		pn(" return c")
+		pn(`c.opt_["ifNoneMatch"] = entityTag`)
+		pn("return c")
 		pn("}")
 	}
 
@@ -1689,14 +1643,12 @@
 	if meth.supportsMediaDownload() {
 		doMethod = "Do and Download methods"
 	}
-	commentFmtStr := "Context sets the context to be used in this call's %s. " +
-		"Any pending HTTP request will be aborted if the provided context is canceled."
-	comment = fmt.Sprintf(commentFmtStr, doMethod)
-	p("\n%s", asComment("", comment))
+	pn("\n// Context sets the context to be used in this call's %s.", doMethod)
+	pn("// Any pending HTTP request will be aborted if the provided context")
+	pn("// is canceled.")
 	if meth.supportsMediaUpload() {
-		comment = "This context will supersede any context previously provided to " +
-			"the ResumableMedia method."
-		p("%s", asComment("", comment))
+		pn("// This context will supersede any context previously provided to ")
+		pn("// the ResumableMedia method.")
 	}
 	pn("func (c *%s) Context(ctx context.Context) *%s {", callName, callName)
 	pn(`c.ctx_ = ctx`)
@@ -1716,19 +1668,33 @@
 		pn(`ctype := "application/json"`)
 		hasContentType = true
 	}
-	pn(`c.urlParams_.Set("alt", alt)`)
+	pn("params := make(url.Values)")
+	pn(`params.Set("alt", alt)`)
+	for _, p := range meth.RequiredQueryParams() {
+		pn("params.Set(%q, fmt.Sprintf(\"%%v\", c.%s))", p.name, p.goCallFieldName())
+	}
+	for _, p := range meth.RequiredRepeatedQueryParams() {
+		pn("for _, v := range c.%s { params.Add(%q, fmt.Sprintf(\"%%v\", v)) }",
+			p.name, p.name)
+	}
+	opts := meth.OptParams()
+	opts = append(opts, &Param{name: "fields"})
+	for _, p := range opts {
+		pn("if v, ok := c.opt_[%q]; ok { params.Set(%q, fmt.Sprintf(\"%%v\", v)) }",
+			p.name, p.name)
+	}
 
-	pn("urls := googleapi.ResolveRelative(c.s.BasePath, %q)", jstr(meth.m, "path"))
+	p("urls := googleapi.ResolveRelative(c.s.BasePath, %q)\n", jstr(meth.m, "path"))
 	if meth.supportsMediaUpload() {
 		pn("if c.media_ != nil || c.resumable_ != nil {")
 		// Hack guess, since we get a 404 otherwise:
 		//pn("urls = googleapi.ResolveRelative(%q, %q)", a.apiBaseURL(), meth.mediaUploadPath())
 		// Further hack.  Discovery doc is wrong?
 		pn("urls = strings.Replace(urls, %q, %q, 1)", "https://www.googleapis.com/", "https://www.googleapis.com/upload/")
-		pn(`c.urlParams_.Set("uploadType", c.protocol_)`)
+		pn(`params.Set("uploadType", c.protocol_)`)
 		pn("}")
 	}
-	pn("urls += \"?\" + c.urlParams_.Encode()")
+	pn("urls += \"?\" + params.Encode()")
 	if meth.supportsMediaUpload() && httpMethod != "GET" {
 		if !hasContentType { // Support mediaUpload but no ctype set.
 			pn("body = new(bytes.Buffer)")
@@ -1771,8 +1737,8 @@
 	}
 	pn(`req.Header.Set("User-Agent", c.s.userAgent())`)
 	if httpMethod == "GET" {
-		pn(`if c.ifNoneMatch_ != "" {`)
-		pn(` req.Header.Set("If-None-Match", c.ifNoneMatch_)`)
+		pn(`if v, ok := c.opt_["ifNoneMatch"]; ok {`)
+		pn("	req.Header.Set(\"If-None-Match\", fmt.Sprintf(\"%%v\", v))")
 		pn("}")
 	}
 	pn("if c.ctx_ != nil {")
@@ -1827,6 +1793,12 @@
 	pn("defer googleapi.CloseBody(res)")
 	pn("if err := googleapi.CheckResponse(res); err != nil { return %serr }", nilRet)
 	if meth.supportsMediaUpload() {
+		pn("var progressUpdater_ googleapi.ProgressUpdater")
+		pn("if v, ok := c.opt_[\"progressUpdater\"]; ok {")
+		pn(" if pu, ok := v.(googleapi.ProgressUpdater); ok {")
+		pn("  progressUpdater_ = pu")
+		pn(" }")
+		pn("}")
 		pn(`if c.protocol_ == "resumable" {`)
 		pn(` loc := res.Header.Get("Location")`)
 		pn(" rx := &googleapi.ResumableUpload{")
@@ -1836,7 +1808,7 @@
 		pn("  Media:         c.resumable_,")
 		pn("  MediaType:     c.mediaType_,")
 		pn("  ContentLength: c.resumable_.Size(),")
-		pn("  Callback:      c.progressUpdater_,")
+		pn("  Callback:      progressUpdater_,")
 		pn(" }")
 		pn(" res, err = rx.Upload(c.ctx_)")
 		pn(" if err != nil { return %serr }", nilRet)
diff --git a/google-api-go-generator/gen_test.go b/google-api-go-generator/gen_test.go
index 1ef9db5..44ca331 100644
--- a/google-api-go-generator/gen_test.go
+++ b/google-api-go-generator/gen_test.go
@@ -24,7 +24,6 @@
 		"mapofobjects",
 		"mapofstrings-1",
 		"quotednum",
-		"repeated",
 		"resource-named-service", // blogger/v3/blogger-api.json + s/BlogUserInfo/Service/
 		"unfortunatedefaults",
 		"variants",
diff --git a/google-api-go-generator/storage_test.go b/google-api-go-generator/storage_test.go
index f3b4612..1cfc437 100644
--- a/google-api-go-generator/storage_test.go
+++ b/google-api-go-generator/storage_test.go
@@ -5,14 +5,11 @@
 	"io/ioutil"
 	"net/http"
 	"net/http/httptest"
-	"net/url"
-	"reflect"
 	"strings"
 	"testing"
 	"testing/iotest"
 
 	"golang.org/x/net/context"
-	dfa "google.golang.org/api/dfareporting/v2.2"
 	storage "google.golang.org/api/storage/v1"
 )
 
@@ -20,18 +17,11 @@
 	location string
 	r        *http.Request
 	body     []byte
-	reqURIs  []string
 	err      error
 }
 
 func (h *myHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 	h.r = r
-	v, err := url.ParseRequestURI(r.URL.RequestURI())
-	if err != nil {
-		h.err = err
-		return
-	}
-	h.reqURIs = append(h.reqURIs, v.String())
 	if h.location != "" {
 		w.Header().Set("Location", h.location)
 	}
@@ -331,70 +321,3 @@
 		t.Errorf("header %q = %#v; want %q", k, g.Header[k], w)
 	}
 }
-
-func myProgressUpdater(current, total int64) {}
-
-func TestParams(t *testing.T) {
-	handler := &myHandler{}
-	server := httptest.NewServer(handler)
-	defer server.Close()
-
-	handler.location = server.URL + "/uploadURL"
-	client := &http.Client{}
-	s, err := storage.New(client)
-	if err != nil {
-		t.Fatalf("unable to create service: %v", err)
-	}
-	s.BasePath = server.URL
-	s.UserAgent = "myagent/1.0"
-
-	const data = "fake media data"
-	f := strings.NewReader(data)
-	o := &storage.Object{
-		Bucket:          "mybucket",
-		Name:            "filename",
-		ContentType:     "plain/text",
-		ContentEncoding: "utf-8",
-		ContentLanguage: "en",
-	}
-	_, err = s.Objects.Insert("mybucket", o).Name(o.Name).IfGenerationMatch(42).ResumableMedia(context.Background(), f, int64(len(data)), "plain/text").ProgressUpdater(myProgressUpdater).Projection("full").Do()
-	if err != nil {
-		t.Fatalf("unable to insert object: %v", err)
-	}
-	if g, w := len(handler.reqURIs), 2; g != w {
-		t.Fatalf("len(reqURIs) = %v, want %v", g, w)
-	}
-	want := []string{
-		"/b/mybucket/o?alt=json&ifGenerationMatch=42&name=filename&projection=full&uploadType=resumable",
-		"/uploadURL",
-	}
-	if !reflect.DeepEqual(handler.reqURIs, want) {
-		t.Errorf("reqURIs = %#v, want = %#v", handler.reqURIs, want)
-	}
-}
-
-func TestRepeatedParams(t *testing.T) {
-	handler := &myHandler{}
-	server := httptest.NewServer(handler)
-	defer server.Close()
-
-	client := &http.Client{}
-	s, err := dfa.New(client)
-	if err != nil {
-		t.Fatalf("unable to create service: %v", err)
-	}
-	s.BasePath = server.URL
-	s.UserAgent = "myagent/1.0"
-	cs := dfa.NewCreativesService(s)
-
-	_, err = cs.List(10).Active(true).MaxResults(1).Ids([]int64{2, 3}).PageToken("abc").SizeIds([]int64{4, 5}).Types([]string{"def", "ghi"}).IfNoneMatch("not-a-param").Do()
-	if err != nil {
-		t.Fatalf("dfa.List: %v", err)
-	}
-	want := []string{
-		"/userprofiles/10/creatives?active=true&alt=json&ids=2&ids=3&maxResults=1&pageToken=abc&sizeIds=4&sizeIds=5&types=def&types=ghi",
-	}
-	if !reflect.DeepEqual(handler.reqURIs, want) {
-		t.Errorf("reqURIs = %#v, want = %#v", handler.reqURIs, want)
-	}
-}
diff --git a/google-api-go-generator/testdata/any.want b/google-api-go-generator/testdata/any.want
index 320e8c6..f4305a6 100644
--- a/google-api-go-generator/testdata/any.want
+++ b/google-api-go-generator/testdata/any.want
@@ -618,17 +618,16 @@
 // method id "logging.projects.logServices.list":
 
 type ProjectsLogServicesListCall struct {
-	s            *Service
-	projectsId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists log services associated with log entries ingested for a
 // project.
 func (r *ProjectsLogServicesService) List(projectsId string) *ProjectsLogServicesListCall {
-	c := &ProjectsLogServicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	return c
 }
@@ -637,14 +636,14 @@
 // whose services are to be listed. log for which to list services. When
 // empty, all services are listed.
 func (c *ProjectsLogServicesListCall) Log(log string) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("log", log)
+	c.opt_["log"] = log
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of `LogService` objects to return in one operation.
 func (c *ProjectsLogServicesListCall) PageSize(pageSize int64) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -654,15 +653,15 @@
 // ignored, and instead the previous `ListLogServices` operation is
 // continued.
 func (c *ProjectsLogServicesListCall) PageToken(pageToken string) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesListCall) Fields(s ...googleapi.Field) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -672,13 +671,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesListCall) IfNoneMatch(entityTag string) *ProjectsLogServicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesListCall) Context(ctx context.Context) *ProjectsLogServicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -686,16 +685,29 @@
 
 func (c *ProjectsLogServicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["log"]; ok {
+		params.Set("log", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -786,14 +798,13 @@
 	s             *Service
 	projectsId    string
 	logServicesId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists log service indexes associated with a log service.
 func (r *ProjectsLogServicesIndexesService) List(projectsId string, logServicesId string) *ProjectsLogServicesIndexesListCall {
-	c := &ProjectsLogServicesIndexesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesIndexesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	return c
@@ -806,7 +817,7 @@
 // It is an error for `depth` to be any non-zero value less than the
 // number of components in `indexPrefix`.
 func (c *ProjectsLogServicesIndexesListCall) Depth(depth int64) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("depth", fmt.Sprintf("%v", depth))
+	c.opt_["depth"] = depth
 	return c
 }
 
@@ -821,7 +832,7 @@
 // Engine modules with names beginning with `myModule`. + "" retrieves
 // all indexes.
 func (c *ProjectsLogServicesIndexesListCall) IndexPrefix(indexPrefix string) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("indexPrefix", indexPrefix)
+	c.opt_["indexPrefix"] = indexPrefix
 	return c
 }
 
@@ -829,14 +840,14 @@
 // `/projects/project_id/logs/log_name`, identifying the log for which
 // to list service indexes.
 func (c *ProjectsLogServicesIndexesListCall) Log(log string) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("log", log)
+	c.opt_["log"] = log
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of log service index resources to return in one operation.
 func (c *ProjectsLogServicesIndexesListCall) PageSize(pageSize int64) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -846,15 +857,15 @@
 // request are ignored, and instead the previous `ListLogServiceIndexes`
 // operation is continued.
 func (c *ProjectsLogServicesIndexesListCall) PageToken(pageToken string) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesIndexesListCall) Fields(s ...googleapi.Field) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -864,13 +875,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesIndexesListCall) IfNoneMatch(entityTag string) *ProjectsLogServicesIndexesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesIndexesListCall) Context(ctx context.Context) *ProjectsLogServicesIndexesListCall {
 	c.ctx_ = ctx
 	return c
@@ -878,17 +889,36 @@
 
 func (c *ProjectsLogServicesIndexesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["depth"]; ok {
+		params.Set("depth", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["indexPrefix"]; ok {
+		params.Set("indexPrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["log"]; ok {
+		params.Set("log", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/indexes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
 		"logServicesId": c.logServicesId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -998,30 +1028,30 @@
 	projectsId    string
 	logServicesId string
 	logsink       *LogSink
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Create: Creates the specified log service sink resource.
 func (r *ProjectsLogServicesSinksService) Create(projectsId string, logServicesId string, logsink *LogSink) *ProjectsLogServicesSinksCreateCall {
-	c := &ProjectsLogServicesSinksCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.logsink = logsink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksCreateCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksCreateCall) Context(ctx context.Context) *ProjectsLogServicesSinksCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1034,9 +1064,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1128,30 +1162,30 @@
 	projectsId    string
 	logServicesId string
 	sinksId       string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes the specified log service sink.
 func (r *ProjectsLogServicesSinksService) Delete(projectsId string, logServicesId string, sinksId string) *ProjectsLogServicesSinksDeleteCall {
-	c := &ProjectsLogServicesSinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksDeleteCall) Context(ctx context.Context) *ProjectsLogServicesSinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1159,9 +1193,13 @@
 
 func (c *ProjectsLogServicesSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1257,25 +1295,24 @@
 	projectsId    string
 	logServicesId string
 	sinksId       string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Gets the specified log service sink resource.
 func (r *ProjectsLogServicesSinksService) Get(projectsId string, logServicesId string, sinksId string) *ProjectsLogServicesSinksGetCall {
-	c := &ProjectsLogServicesSinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksGetCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1285,13 +1322,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesSinksGetCall) IfNoneMatch(entityTag string) *ProjectsLogServicesSinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksGetCall) Context(ctx context.Context) *ProjectsLogServicesSinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1299,9 +1336,13 @@
 
 func (c *ProjectsLogServicesSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1309,8 +1350,8 @@
 		"sinksId":       c.sinksId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1399,24 +1440,23 @@
 	s             *Service
 	projectsId    string
 	logServicesId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists log service sinks associated with the specified service.
 func (r *ProjectsLogServicesSinksService) List(projectsId string, logServicesId string) *ProjectsLogServicesSinksListCall {
-	c := &ProjectsLogServicesSinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksListCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1426,13 +1466,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesSinksListCall) IfNoneMatch(entityTag string) *ProjectsLogServicesSinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksListCall) Context(ctx context.Context) *ProjectsLogServicesSinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -1440,17 +1480,21 @@
 
 func (c *ProjectsLogServicesSinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
 		"logServicesId": c.logServicesId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1534,13 +1578,13 @@
 	logServicesId string
 	sinksId       string
 	logsink       *LogSink
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Creates or update the specified log service sink resource.
 func (r *ProjectsLogServicesSinksService) Update(projectsId string, logServicesId string, sinksId string, logsink *LogSink) *ProjectsLogServicesSinksUpdateCall {
-	c := &ProjectsLogServicesSinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.sinksId = sinksId
@@ -1548,17 +1592,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksUpdateCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksUpdateCall) Context(ctx context.Context) *ProjectsLogServicesSinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1571,9 +1615,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1672,30 +1720,30 @@
 	s          *Service
 	projectsId string
 	logsId     string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified log resource and all log entries
 // contained in it.
 func (r *ProjectsLogsService) Delete(projectsId string, logsId string) *ProjectsLogsDeleteCall {
-	c := &ProjectsLogsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLogsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsDeleteCall) Context(ctx context.Context) *ProjectsLogsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1703,9 +1751,13 @@
 
 func (c *ProjectsLogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -1789,16 +1841,15 @@
 // method id "logging.projects.logs.list":
 
 type ProjectsLogsListCall struct {
-	s            *Service
-	projectsId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists log resources belonging to the specified project.
 func (r *ProjectsLogsService) List(projectsId string) *ProjectsLogsListCall {
-	c := &ProjectsLogsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	return c
 }
@@ -1806,7 +1857,7 @@
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of results to return.
 func (c *ProjectsLogsListCall) PageSize(pageSize int64) *ProjectsLogsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1815,7 +1866,7 @@
 // `pageToken` is supplied, then the other fields of this request are
 // ignored, and instead the previous `ListLogs` operation is continued.
 func (c *ProjectsLogsListCall) PageToken(pageToken string) *ProjectsLogsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1826,7 +1877,7 @@
 // separated list of values, and need not specify all index labels. An
 // empty index (or a single slash) matches all log service indexes.
 func (c *ProjectsLogsListCall) ServiceIndexPrefix(serviceIndexPrefix string) *ProjectsLogsListCall {
-	c.urlParams_.Set("serviceIndexPrefix", serviceIndexPrefix)
+	c.opt_["serviceIndexPrefix"] = serviceIndexPrefix
 	return c
 }
 
@@ -1840,15 +1891,15 @@
 // empty service name) set `serviceName` to the desired value and
 // `serviceIndexPrefix` to "/".
 func (c *ProjectsLogsListCall) ServiceName(serviceName string) *ProjectsLogsListCall {
-	c.urlParams_.Set("serviceName", serviceName)
+	c.opt_["serviceName"] = serviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsListCall) Fields(s ...googleapi.Field) *ProjectsLogsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1858,13 +1909,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogsListCall) IfNoneMatch(entityTag string) *ProjectsLogsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsListCall) Context(ctx context.Context) *ProjectsLogsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1872,16 +1923,32 @@
 
 func (c *ProjectsLogsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serviceIndexPrefix"]; ok {
+		params.Set("serviceIndexPrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serviceName"]; ok {
+		params.Set("serviceName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1978,7 +2045,7 @@
 	projectsId             string
 	logsId                 string
 	writelogentriesrequest *WriteLogEntriesRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -1991,24 +2058,24 @@
 // `entries[].metadata.labels` maps, saving you the trouble of creating
 // identical copies for each entry.
 func (r *ProjectsLogsEntriesService) Write(projectsId string, logsId string, writelogentriesrequest *WriteLogEntriesRequest) *ProjectsLogsEntriesWriteCall {
-	c := &ProjectsLogsEntriesWriteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsEntriesWriteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.writelogentriesrequest = writelogentriesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsEntriesWriteCall) Fields(s ...googleapi.Field) *ProjectsLogsEntriesWriteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsEntriesWriteCall) Context(ctx context.Context) *ProjectsLogsEntriesWriteCall {
 	c.ctx_ = ctx
 	return c
@@ -2021,9 +2088,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/entries:write")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2115,30 +2186,30 @@
 	projectsId string
 	logsId     string
 	logsink    *LogSink
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Create: Creates the specified log sink resource.
 func (r *ProjectsLogsSinksService) Create(projectsId string, logsId string, logsink *LogSink) *ProjectsLogsSinksCreateCall {
-	c := &ProjectsLogsSinksCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.logsink = logsink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksCreateCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksCreateCall) Context(ctx context.Context) *ProjectsLogsSinksCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2151,9 +2222,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2245,30 +2320,30 @@
 	projectsId string
 	logsId     string
 	sinksId    string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified log sink resource.
 func (r *ProjectsLogsSinksService) Delete(projectsId string, logsId string, sinksId string) *ProjectsLogsSinksDeleteCall {
-	c := &ProjectsLogsSinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksDeleteCall) Context(ctx context.Context) *ProjectsLogsSinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2276,9 +2351,13 @@
 
 func (c *ProjectsLogsSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2370,29 +2449,28 @@
 // method id "logging.projects.logs.sinks.get":
 
 type ProjectsLogsSinksGetCall struct {
-	s            *Service
-	projectsId   string
-	logsId       string
-	sinksId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	logsId     string
+	sinksId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets the specified log sink resource.
 func (r *ProjectsLogsSinksService) Get(projectsId string, logsId string, sinksId string) *ProjectsLogsSinksGetCall {
-	c := &ProjectsLogsSinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksGetCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2402,13 +2480,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogsSinksGetCall) IfNoneMatch(entityTag string) *ProjectsLogsSinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksGetCall) Context(ctx context.Context) *ProjectsLogsSinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2416,9 +2494,13 @@
 
 func (c *ProjectsLogsSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2426,8 +2508,8 @@
 		"sinksId":    c.sinksId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2513,27 +2595,26 @@
 // method id "logging.projects.logs.sinks.list":
 
 type ProjectsLogsSinksListCall struct {
-	s            *Service
-	projectsId   string
-	logsId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	logsId     string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists log sinks associated with the specified log.
 func (r *ProjectsLogsSinksService) List(projectsId string, logsId string) *ProjectsLogsSinksListCall {
-	c := &ProjectsLogsSinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksListCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2543,13 +2624,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogsSinksListCall) IfNoneMatch(entityTag string) *ProjectsLogsSinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksListCall) Context(ctx context.Context) *ProjectsLogsSinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -2557,17 +2638,21 @@
 
 func (c *ProjectsLogsSinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 		"logsId":     c.logsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2651,13 +2736,13 @@
 	logsId     string
 	sinksId    string
 	logsink    *LogSink
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Creates or updates the specified log sink resource.
 func (r *ProjectsLogsSinksService) Update(projectsId string, logsId string, sinksId string, logsink *LogSink) *ProjectsLogsSinksUpdateCall {
-	c := &ProjectsLogsSinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.sinksId = sinksId
@@ -2665,17 +2750,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksUpdateCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksUpdateCall) Context(ctx context.Context) *ProjectsLogsSinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2688,9 +2773,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
diff --git a/google-api-go-generator/testdata/blogger-3.want b/google-api-go-generator/testdata/blogger-3.want
index c3b95a9..a382e26 100644
--- a/google-api-go-generator/testdata/blogger-3.want
+++ b/google-api-go-generator/testdata/blogger-3.want
@@ -1221,17 +1221,16 @@
 // method id "blogger.blogUserInfos.get":
 
 type BlogUserInfosGetCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog and user info pair by blogId and userId.
 func (r *BlogUserInfosService) Get(userId string, blogId string) *BlogUserInfosGetCall {
-	c := &BlogUserInfosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogUserInfosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	return c
@@ -1240,15 +1239,15 @@
 // MaxPosts sets the optional parameter "maxPosts": Maximum number of
 // posts to pull back with the blog.
 func (c *BlogUserInfosGetCall) MaxPosts(maxPosts int64) *BlogUserInfosGetCall {
-	c.urlParams_.Set("maxPosts", fmt.Sprintf("%v", maxPosts))
+	c.opt_["maxPosts"] = maxPosts
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogUserInfosGetCall) Fields(s ...googleapi.Field) *BlogUserInfosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1258,13 +1257,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogUserInfosGetCall) IfNoneMatch(entityTag string) *BlogUserInfosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogUserInfosGetCall) Context(ctx context.Context) *BlogUserInfosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1272,17 +1271,24 @@
 
 func (c *BlogUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxPosts"]; ok {
+		params.Set("maxPosts", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1368,16 +1374,15 @@
 // method id "blogger.blogs.get":
 
 type BlogsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog by id.
 func (r *BlogsService) Get(blogId string) *BlogsGetCall {
-	c := &BlogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -1385,15 +1390,15 @@
 // MaxPosts sets the optional parameter "maxPosts": Maximum number of
 // posts to pull back with the blog.
 func (c *BlogsGetCall) MaxPosts(maxPosts int64) *BlogsGetCall {
-	c.urlParams_.Set("maxPosts", fmt.Sprintf("%v", maxPosts))
+	c.opt_["maxPosts"] = maxPosts
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetCall) Fields(s ...googleapi.Field) *BlogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1403,13 +1408,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetCall) IfNoneMatch(entityTag string) *BlogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetCall) Context(ctx context.Context) *BlogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1417,16 +1422,23 @@
 
 func (c *BlogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxPosts"]; ok {
+		params.Set("maxPosts", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1505,24 +1517,24 @@
 // method id "blogger.blogs.getByUrl":
 
 type BlogsGetByUrlCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	url  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetByUrl: Retrieve a Blog by URL.
 func (r *BlogsService) GetByUrl(url string) *BlogsGetByUrlCall {
-	c := &BlogsGetByUrlCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("url", url)
+	c := &BlogsGetByUrlCall{s: r.s, opt_: make(map[string]interface{})}
+	c.url = url
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetByUrlCall) Fields(s ...googleapi.Field) *BlogsGetByUrlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1532,13 +1544,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetByUrlCall) IfNoneMatch(entityTag string) *BlogsGetByUrlCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetByUrlCall) Context(ctx context.Context) *BlogsGetByUrlCall {
 	c.ctx_ = ctx
 	return c
@@ -1546,14 +1558,19 @@
 
 func (c *BlogsGetByUrlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("url", fmt.Sprintf("%v", c.url))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/byurl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1626,16 +1643,15 @@
 // method id "blogger.blogs.listByUser":
 
 type BlogsListByUserCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // ListByUser: Retrieves a list of blogs, possibly filtered.
 func (r *BlogsService) ListByUser(userId string) *BlogsListByUserCall {
-	c := &BlogsListByUserCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsListByUserCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -1644,7 +1660,7 @@
 // the response is a list of blogs with per-user information instead of
 // just blogs.
 func (c *BlogsListByUserCall) FetchUserInfo(fetchUserInfo bool) *BlogsListByUserCall {
-	c.urlParams_.Set("fetchUserInfo", fmt.Sprintf("%v", fetchUserInfo))
+	c.opt_["fetchUserInfo"] = fetchUserInfo
 	return c
 }
 
@@ -1655,15 +1671,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *BlogsListByUserCall) View(view string) *BlogsListByUserCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsListByUserCall) Fields(s ...googleapi.Field) *BlogsListByUserCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1673,13 +1689,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsListByUserCall) IfNoneMatch(entityTag string) *BlogsListByUserCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsListByUserCall) Context(ctx context.Context) *BlogsListByUserCall {
 	c.ctx_ = ctx
 	return c
@@ -1687,16 +1703,26 @@
 
 func (c *BlogsListByUserCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchUserInfo"]; ok {
+		params.Set("fetchUserInfo", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1788,34 +1814,34 @@
 // method id "blogger.comments.approve":
 
 type CommentsApproveCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Approve: Marks a comment as not spam.
 func (r *CommentsService) Approve(blogId string, postId string, commentId string) *CommentsApproveCall {
-	c := &CommentsApproveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsApproveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsApproveCall) Fields(s ...googleapi.Field) *CommentsApproveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsApproveCall) Context(ctx context.Context) *CommentsApproveCall {
 	c.ctx_ = ctx
 	return c
@@ -1823,9 +1849,13 @@
 
 func (c *CommentsApproveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/approve")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -1917,34 +1947,34 @@
 // method id "blogger.comments.delete":
 
 type CommentsDeleteCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Delete a comment by id.
 func (r *CommentsService) Delete(blogId string, postId string, commentId string) *CommentsDeleteCall {
-	c := &CommentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsDeleteCall) Fields(s ...googleapi.Field) *CommentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsDeleteCall) Context(ctx context.Context) *CommentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1952,9 +1982,13 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2019,29 +2053,28 @@
 // method id "blogger.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one comment by id.
 func (r *CommentsService) Get(blogId string, postId string, commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2051,13 +2084,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2065,9 +2098,13 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2075,8 +2112,8 @@
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2163,17 +2200,16 @@
 // method id "blogger.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the comments for a post, possibly filtered.
 func (r *CommentsService) List(blogId string, postId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -2182,35 +2218,35 @@
 // EndDate sets the optional parameter "endDate": Latest date of comment
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) EndDate(endDate string) *CommentsListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListCall) FetchBodies(fetchBodies bool) *CommentsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) StartDate(startDate string) *CommentsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -2221,8 +2257,8 @@
 //   "live" - Comments that are publicly visible
 //   "pending" - Comments that are awaiting administrator approval
 //   "spam" - Comments marked as spam by the administrator
-func (c *CommentsListCall) Statuses(statuses []string) *CommentsListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *CommentsListCall) Statuses(statuses string) *CommentsListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -2233,15 +2269,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *CommentsListCall) View(view string) *CommentsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2251,13 +2287,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2265,17 +2301,42 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2414,17 +2475,16 @@
 // method id "blogger.comments.listByBlog":
 
 type CommentsListByBlogCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // ListByBlog: Retrieves the comments for a blog, across all posts,
 // possibly filtered.
 func (r *CommentsService) ListByBlog(blogId string) *CommentsListByBlogCall {
-	c := &CommentsListByBlogCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListByBlogCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -2432,43 +2492,43 @@
 // EndDate sets the optional parameter "endDate": Latest date of comment
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListByBlogCall) EndDate(endDate string) *CommentsListByBlogCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListByBlogCall) FetchBodies(fetchBodies bool) *CommentsListByBlogCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListByBlogCall) MaxResults(maxResults int64) *CommentsListByBlogCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListByBlogCall) PageToken(pageToken string) *CommentsListByBlogCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListByBlogCall) StartDate(startDate string) *CommentsListByBlogCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListByBlogCall) Fields(s ...googleapi.Field) *CommentsListByBlogCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2478,13 +2538,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListByBlogCall) IfNoneMatch(entityTag string) *CommentsListByBlogCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListByBlogCall) Context(ctx context.Context) *CommentsListByBlogCall {
 	c.ctx_ = ctx
 	return c
@@ -2492,16 +2552,35 @@
 
 func (c *CommentsListByBlogCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2602,34 +2681,34 @@
 // method id "blogger.comments.markAsSpam":
 
 type CommentsMarkAsSpamCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // MarkAsSpam: Marks a comment as spam.
 func (r *CommentsService) MarkAsSpam(blogId string, postId string, commentId string) *CommentsMarkAsSpamCall {
-	c := &CommentsMarkAsSpamCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsMarkAsSpamCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsMarkAsSpamCall) Fields(s ...googleapi.Field) *CommentsMarkAsSpamCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsMarkAsSpamCall) Context(ctx context.Context) *CommentsMarkAsSpamCall {
 	c.ctx_ = ctx
 	return c
@@ -2637,9 +2716,13 @@
 
 func (c *CommentsMarkAsSpamCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/spam")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2731,34 +2814,34 @@
 // method id "blogger.comments.removeContent":
 
 type CommentsRemoveContentCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // RemoveContent: Removes the content of a comment.
 func (r *CommentsService) RemoveContent(blogId string, postId string, commentId string) *CommentsRemoveContentCall {
-	c := &CommentsRemoveContentCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsRemoveContentCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsRemoveContentCall) Fields(s ...googleapi.Field) *CommentsRemoveContentCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsRemoveContentCall) Context(ctx context.Context) *CommentsRemoveContentCall {
 	c.ctx_ = ctx
 	return c
@@ -2766,9 +2849,13 @@
 
 func (c *CommentsRemoveContentCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2860,16 +2947,15 @@
 // method id "blogger.pageViews.get":
 
 type PageViewsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieve pageview stats for a Blog.
 func (r *PageViewsService) Get(blogId string) *PageViewsGetCall {
-	c := &PageViewsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PageViewsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -2880,16 +2966,16 @@
 //   "30DAYS" - Page view counts from the last thirty days.
 //   "7DAYS" - Page view counts from the last seven days.
 //   "all" - Total page view counts from all time.
-func (c *PageViewsGetCall) Range(range_ []string) *PageViewsGetCall {
-	c.urlParams_.SetMulti("range_", append([]string{}, range_...))
+func (c *PageViewsGetCall) Range(range_ string) *PageViewsGetCall {
+	c.opt_["range"] = range_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PageViewsGetCall) Fields(s ...googleapi.Field) *PageViewsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2899,13 +2985,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PageViewsGetCall) IfNoneMatch(entityTag string) *PageViewsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PageViewsGetCall) Context(ctx context.Context) *PageViewsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2913,16 +2999,23 @@
 
 func (c *PageViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["range"]; ok {
+		params.Set("range", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pageviews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3009,32 +3102,32 @@
 // method id "blogger.pages.delete":
 
 type PagesDeleteCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Delete a page by id.
 func (r *PagesService) Delete(blogId string, pageId string) *PagesDeleteCall {
-	c := &PagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesDeleteCall) Fields(s ...googleapi.Field) *PagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesDeleteCall) Context(ctx context.Context) *PagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3042,9 +3135,13 @@
 
 func (c *PagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3101,17 +3198,16 @@
 // method id "blogger.pages.get":
 
 type PagesGetCall struct {
-	s            *Service
-	blogId       string
-	pageId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog page by id.
 func (r *PagesService) Get(blogId string, pageId string) *PagesGetCall {
-	c := &PagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
@@ -3124,15 +3220,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PagesGetCall) View(view string) *PagesGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesGetCall) Fields(s ...googleapi.Field) *PagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3142,13 +3238,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesGetCall) IfNoneMatch(entityTag string) *PagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesGetCall) Context(ctx context.Context) *PagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3156,17 +3252,24 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"pageId": c.pageId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3260,32 +3363,32 @@
 // method id "blogger.pages.insert":
 
 type PagesInsertCall struct {
-	s          *Service
-	blogId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Add a page.
 func (r *PagesService) Insert(blogId string, page *Page) *PagesInsertCall {
-	c := &PagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.page = page
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesInsertCall) Fields(s ...googleapi.Field) *PagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesInsertCall) Context(ctx context.Context) *PagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3298,9 +3401,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3380,17 +3487,16 @@
 // method id "blogger.pages.list":
 
 type PagesListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the pages for a blog, optionally including non-LIVE
 // statuses.
 func (r *PagesService) List(blogId string) *PagesListCall {
-	c := &PagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -3398,7 +3504,7 @@
 // FetchBodies sets the optional parameter "fetchBodies": Whether to
 // retrieve the Page bodies.
 func (c *PagesListCall) FetchBodies(fetchBodies bool) *PagesListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
@@ -3408,8 +3514,8 @@
 //   "draft" - Draft (unpublished) Pages
 //   "imported" - Pages that have had their content removed
 //   "live" - Pages that are publicly visible
-func (c *PagesListCall) Statuses(statuses []string) *PagesListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *PagesListCall) Statuses(statuses string) *PagesListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -3420,15 +3526,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PagesListCall) View(view string) *PagesListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesListCall) Fields(s ...googleapi.Field) *PagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3438,13 +3544,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesListCall) IfNoneMatch(entityTag string) *PagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesListCall) Context(ctx context.Context) *PagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3452,16 +3558,29 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3568,34 +3687,34 @@
 // method id "blogger.pages.patch":
 
 type PagesPatchCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Update a page. This method supports patch semantics.
 func (r *PagesService) Patch(blogId string, pageId string, page *Page) *PagesPatchCall {
-	c := &PagesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	c.page = page
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesPatchCall) Fields(s ...googleapi.Field) *PagesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesPatchCall) Context(ctx context.Context) *PagesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3608,9 +3727,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3698,34 +3821,34 @@
 // method id "blogger.pages.update":
 
 type PagesUpdateCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Update a page.
 func (r *PagesService) Update(blogId string, pageId string, page *Page) *PagesUpdateCall {
-	c := &PagesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	c.page = page
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesUpdateCall) Fields(s ...googleapi.Field) *PagesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesUpdateCall) Context(ctx context.Context) *PagesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3738,9 +3861,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3828,18 +3955,17 @@
 // method id "blogger.postUserInfos.get":
 
 type PostUserInfosGetCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one post and user info pair by postId and userId.
 func (r *PostUserInfosService) Get(userId string, blogId string, postId string) *PostUserInfosGetCall {
-	c := &PostUserInfosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostUserInfosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	c.postId = postId
@@ -3849,15 +3975,15 @@
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostUserInfosGetCall) MaxComments(maxComments int64) *PostUserInfosGetCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostUserInfosGetCall) Fields(s ...googleapi.Field) *PostUserInfosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3867,13 +3993,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostUserInfosGetCall) IfNoneMatch(entityTag string) *PostUserInfosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostUserInfosGetCall) Context(ctx context.Context) *PostUserInfosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3881,9 +4007,16 @@
 
 func (c *PostUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -3891,8 +4024,8 @@
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3985,18 +4118,17 @@
 // method id "blogger.postUserInfos.list":
 
 type PostUserInfosListCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of post and user info pairs, possibly
 // filtered.
 func (r *PostUserInfosService) List(userId string, blogId string) *PostUserInfosListCall {
-	c := &PostUserInfosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostUserInfosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	return c
@@ -4005,28 +4137,28 @@
 // EndDate sets the optional parameter "endDate": Latest post date to
 // fetch, a date-time with RFC 3339 formatting.
 func (c *PostUserInfosListCall) EndDate(endDate string) *PostUserInfosListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of posts is included.
 func (c *PostUserInfosListCall) FetchBodies(fetchBodies bool) *PostUserInfosListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // Labels sets the optional parameter "labels": Comma-separated list of
 // labels to search for.
 func (c *PostUserInfosListCall) Labels(labels string) *PostUserInfosListCall {
-	c.urlParams_.Set("labels", labels)
+	c.opt_["labels"] = labels
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostUserInfosListCall) MaxResults(maxResults int64) *PostUserInfosListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4036,21 +4168,21 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostUserInfosListCall) OrderBy(orderBy string) *PostUserInfosListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostUserInfosListCall) PageToken(pageToken string) *PostUserInfosListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostUserInfosListCall) StartDate(startDate string) *PostUserInfosListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -4060,8 +4192,8 @@
 //   "draft" - Draft posts
 //   "live" - Published posts
 //   "scheduled" - Posts that are scheduled to publish in future.
-func (c *PostUserInfosListCall) Statuses(statuses []string) *PostUserInfosListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *PostUserInfosListCall) Statuses(statuses string) *PostUserInfosListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -4072,15 +4204,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostUserInfosListCall) View(view string) *PostUserInfosListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostUserInfosListCall) Fields(s ...googleapi.Field) *PostUserInfosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4090,13 +4222,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostUserInfosListCall) IfNoneMatch(entityTag string) *PostUserInfosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostUserInfosListCall) Context(ctx context.Context) *PostUserInfosListCall {
 	c.ctx_ = ctx
 	return c
@@ -4104,17 +4236,48 @@
 
 func (c *PostUserInfosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4270,32 +4433,32 @@
 // method id "blogger.posts.delete":
 
 type PostsDeleteCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Delete a post by id.
 func (r *PostsService) Delete(blogId string, postId string) *PostsDeleteCall {
-	c := &PostsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsDeleteCall) Fields(s ...googleapi.Field) *PostsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsDeleteCall) Context(ctx context.Context) *PostsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4303,9 +4466,13 @@
 
 func (c *PostsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4362,17 +4529,16 @@
 // method id "blogger.posts.get":
 
 type PostsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get a post by id.
 func (r *PostsService) Get(blogId string, postId string) *PostsGetCall {
-	c := &PostsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -4381,7 +4547,7 @@
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostsGetCall) MaxComments(maxComments int64) *PostsGetCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
@@ -4392,15 +4558,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PostsGetCall) View(view string) *PostsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetCall) Fields(s ...googleapi.Field) *PostsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4410,13 +4576,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetCall) IfNoneMatch(entityTag string) *PostsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetCall) Context(ctx context.Context) *PostsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4424,17 +4590,27 @@
 
 func (c *PostsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4534,25 +4710,25 @@
 // method id "blogger.posts.getByPath":
 
 type PostsGetByPathCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	path   string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // GetByPath: Retrieve a Post by Path.
 func (r *PostsService) GetByPath(blogId string, path string) *PostsGetByPathCall {
-	c := &PostsGetByPathCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetByPathCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
-	c.urlParams_.Set("path", path)
+	c.path = path
 	return c
 }
 
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostsGetByPathCall) MaxComments(maxComments int64) *PostsGetByPathCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
@@ -4563,15 +4739,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PostsGetByPathCall) View(view string) *PostsGetByPathCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetByPathCall) Fields(s ...googleapi.Field) *PostsGetByPathCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4581,13 +4757,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetByPathCall) IfNoneMatch(entityTag string) *PostsGetByPathCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetByPathCall) Context(ctx context.Context) *PostsGetByPathCall {
 	c.ctx_ = ctx
 	return c
@@ -4595,16 +4771,27 @@
 
 func (c *PostsGetByPathCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("path", fmt.Sprintf("%v", c.path))
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/bypath")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4704,16 +4891,16 @@
 // method id "blogger.posts.insert":
 
 type PostsInsertCall struct {
-	s          *Service
-	blogId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Add a post.
 func (r *PostsService) Insert(blogId string, post *Post) *PostsInsertCall {
-	c := &PostsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.post = post
 	return c
@@ -4722,21 +4909,21 @@
 // IsDraft sets the optional parameter "isDraft": Whether to create the
 // post as a draft
 func (c *PostsInsertCall) IsDraft(isDraft bool) *PostsInsertCall {
-	c.urlParams_.Set("isDraft", fmt.Sprintf("%v", isDraft))
+	c.opt_["isDraft"] = isDraft
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsInsertCall) Fields(s ...googleapi.Field) *PostsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsInsertCall) Context(ctx context.Context) *PostsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4749,9 +4936,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["isDraft"]; ok {
+		params.Set("isDraft", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4836,16 +5030,15 @@
 // method id "blogger.posts.list":
 
 type PostsListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of posts, possibly filtered.
 func (r *PostsService) List(blogId string) *PostsListCall {
-	c := &PostsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -4853,7 +5046,7 @@
 // EndDate sets the optional parameter "endDate": Latest post date to
 // fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) EndDate(endDate string) *PostsListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
@@ -4862,28 +5055,28 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsListCall) FetchBodies(fetchBodies bool) *PostsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // FetchImages sets the optional parameter "fetchImages": Whether image
 // URL metadata for each post is included.
 func (c *PostsListCall) FetchImages(fetchImages bool) *PostsListCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // Labels sets the optional parameter "labels": Comma-separated list of
 // labels to search for.
 func (c *PostsListCall) Labels(labels string) *PostsListCall {
-	c.urlParams_.Set("labels", labels)
+	c.opt_["labels"] = labels
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostsListCall) MaxResults(maxResults int64) *PostsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4893,21 +5086,21 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostsListCall) OrderBy(orderBy string) *PostsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostsListCall) PageToken(pageToken string) *PostsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) StartDate(startDate string) *PostsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -4917,8 +5110,8 @@
 //   "draft" - Draft posts
 //   "live" - Published posts
 //   "scheduled" - Posts that are scheduled to publish in future.
-func (c *PostsListCall) Statuses(statuses []string) *PostsListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *PostsListCall) Statuses(statuses string) *PostsListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -4929,15 +5122,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostsListCall) View(view string) *PostsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsListCall) Fields(s ...googleapi.Field) *PostsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4947,13 +5140,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsListCall) IfNoneMatch(entityTag string) *PostsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsListCall) Context(ctx context.Context) *PostsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4961,16 +5154,50 @@
 
 func (c *PostsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5125,34 +5352,34 @@
 // method id "blogger.posts.patch":
 
 type PostsPatchCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Update a post. This method supports patch semantics.
 func (r *PostsService) Patch(blogId string, postId string, post *Post) *PostsPatchCall {
-	c := &PostsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.post = post
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsPatchCall) Fields(s ...googleapi.Field) *PostsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsPatchCall) Context(ctx context.Context) *PostsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5165,9 +5392,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5255,16 +5486,16 @@
 // method id "blogger.posts.publish":
 
 type PostsPublishCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Publish: Publish a draft post.
 func (r *PostsService) Publish(blogId string, postId string) *PostsPublishCall {
-	c := &PostsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -5273,21 +5504,21 @@
 // PublishDate sets the optional parameter "publishDate": The date and
 // time to schedule the publishing of the Blog.
 func (c *PostsPublishCall) PublishDate(publishDate string) *PostsPublishCall {
-	c.urlParams_.Set("publishDate", publishDate)
+	c.opt_["publishDate"] = publishDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsPublishCall) Fields(s ...googleapi.Field) *PostsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsPublishCall) Context(ctx context.Context) *PostsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -5295,9 +5526,16 @@
 
 func (c *PostsPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["publishDate"]; ok {
+		params.Set("publishDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5387,32 +5625,32 @@
 // method id "blogger.posts.revert":
 
 type PostsRevertCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Revert: Revert a published or scheduled post to draft state.
 func (r *PostsService) Revert(blogId string, postId string) *PostsRevertCall {
-	c := &PostsRevertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsRevertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsRevertCall) Fields(s ...googleapi.Field) *PostsRevertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsRevertCall) Context(ctx context.Context) *PostsRevertCall {
 	c.ctx_ = ctx
 	return c
@@ -5420,9 +5658,13 @@
 
 func (c *PostsRevertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/revert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5506,18 +5748,18 @@
 // method id "blogger.posts.search":
 
 type PostsSearchCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	q      string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Search: Search for a post.
 func (r *PostsService) Search(blogId string, q string) *PostsSearchCall {
-	c := &PostsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
-	c.urlParams_.Set("q", q)
+	c.q = q
 	return c
 }
 
@@ -5526,7 +5768,7 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsSearchCall) FetchBodies(fetchBodies bool) *PostsSearchCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
@@ -5536,15 +5778,15 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostsSearchCall) OrderBy(orderBy string) *PostsSearchCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsSearchCall) Fields(s ...googleapi.Field) *PostsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5554,13 +5796,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsSearchCall) IfNoneMatch(entityTag string) *PostsSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsSearchCall) Context(ctx context.Context) *PostsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -5568,16 +5810,27 @@
 
 func (c *PostsSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("q", fmt.Sprintf("%v", c.q))
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5677,34 +5930,34 @@
 // method id "blogger.posts.update":
 
 type PostsUpdateCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Update a post.
 func (r *PostsService) Update(blogId string, postId string, post *Post) *PostsUpdateCall {
-	c := &PostsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.post = post
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsUpdateCall) Fields(s ...googleapi.Field) *PostsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsUpdateCall) Context(ctx context.Context) *PostsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5717,9 +5970,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5807,25 +6064,24 @@
 // method id "blogger.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one user by id.
 func (r *UsersService) Get(userId string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5835,13 +6091,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5849,16 +6105,20 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/google-api-go-generator/testdata/getwithoutbody.want b/google-api-go-generator/testdata/getwithoutbody.want
index b4ba22c..cf9ce73 100644
--- a/google-api-go-generator/testdata/getwithoutbody.want
+++ b/google-api-go-generator/testdata/getwithoutbody.want
@@ -134,8 +134,7 @@
 	s                 *Service
 	project           string
 	listmetricrequest *ListMetricRequest
-	urlParams_        internal.URLParams
-	ifNoneMatch_      string
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -144,7 +143,7 @@
 // in the response to request subsequent pages of results by setting the
 // pageToken query parameter to the value of the nextPageToken.
 func (r *MetricDescriptorsService) List(project string, listmetricrequest *ListMetricRequest) *MetricDescriptorsListCall {
-	c := &MetricDescriptorsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MetricDescriptorsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.listmetricrequest = listmetricrequest
 	return c
@@ -154,7 +153,7 @@
 // descriptors per page. Used for pagination. If not specified, count =
 // 100.
 func (c *MetricDescriptorsListCall) Count(count int64) *MetricDescriptorsListCall {
-	c.urlParams_.Set("count", fmt.Sprintf("%v", count))
+	c.opt_["count"] = count
 	return c
 }
 
@@ -163,15 +162,15 @@
 // value to the value of the nextPageToken to retrieve the next page of
 // results.
 func (c *MetricDescriptorsListCall) PageToken(pageToken string) *MetricDescriptorsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MetricDescriptorsListCall) Fields(s ...googleapi.Field) *MetricDescriptorsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -181,13 +180,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MetricDescriptorsListCall) IfNoneMatch(entityTag string) *MetricDescriptorsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MetricDescriptorsListCall) Context(ctx context.Context) *MetricDescriptorsListCall {
 	c.ctx_ = ctx
 	return c
@@ -195,16 +194,26 @@
 
 func (c *MetricDescriptorsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["count"]; ok {
+		params.Set("count", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/metricDescriptors")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/google-api-go-generator/testdata/mapofarrayofobjects.want b/google-api-go-generator/testdata/mapofarrayofobjects.want
index f5ba0d6..e0e71e9 100644
--- a/google-api-go-generator/testdata/mapofarrayofobjects.want
+++ b/google-api-go-generator/testdata/mapofarrayofobjects.want
@@ -107,23 +107,22 @@
 // method id "mapofstrings.getMap":
 
 type AtlasGetMapCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetMap: Get a map.
 func (r *AtlasService) GetMap() *AtlasGetMapCall {
-	c := &AtlasGetMapCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AtlasGetMapCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AtlasGetMapCall) Fields(s ...googleapi.Field) *AtlasGetMapCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -133,13 +132,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AtlasGetMapCall) IfNoneMatch(entityTag string) *AtlasGetMapCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AtlasGetMapCall) Context(ctx context.Context) *AtlasGetMapCall {
 	c.ctx_ = ctx
 	return c
@@ -147,14 +146,18 @@
 
 func (c *AtlasGetMapCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "map")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/google-api-go-generator/testdata/mapofstrings-1.want b/google-api-go-generator/testdata/mapofstrings-1.want
index 8b21a7b..8ca4a60 100644
--- a/google-api-go-generator/testdata/mapofstrings-1.want
+++ b/google-api-go-generator/testdata/mapofstrings-1.want
@@ -107,23 +107,22 @@
 // method id "mapofstrings.getMap":
 
 type AtlasGetMapCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetMap: Get a map.
 func (r *AtlasService) GetMap() *AtlasGetMapCall {
-	c := &AtlasGetMapCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AtlasGetMapCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AtlasGetMapCall) Fields(s ...googleapi.Field) *AtlasGetMapCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -133,13 +132,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AtlasGetMapCall) IfNoneMatch(entityTag string) *AtlasGetMapCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AtlasGetMapCall) Context(ctx context.Context) *AtlasGetMapCall {
 	c.ctx_ = ctx
 	return c
@@ -147,14 +146,18 @@
 
 func (c *AtlasGetMapCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "map")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/google-api-go-generator/testdata/repeated.json b/google-api-go-generator/testdata/repeated.json
deleted file mode 100644
index 1a6f663..0000000
--- a/google-api-go-generator/testdata/repeated.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "kind": "discovery#restDescription",
- "etag": "\"kEk3sFj6Ef5_yR1-H3bAO6qw9mI/3m5rB86FE5KuW1K3jAl88AxCreg\"",
- "discoveryVersion": "v1",
- "id": "repeated:v1",
- "name": "repeated",
- "version": "v1",
- "title": "Example API",
- "description": "The Example API demonstrates repeated fields.",
- "ownerDomain": "google.com",
- "ownerName": "Google",
- "protocol": "rest",
- "schemas": {
- },
- "resources": {
-  "accounts": {
-   "resources": {
-    "reports": {
-     "methods": {
-      "generate": {
-       "id": "adsense.accounts.reports.generate",
-       "path": "accounts/{accountId}/reports",
-       "httpMethod": "GET",
-       "description": "Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.",
-       "parameters": {
-        "accountId": {
-         "type": "string",
-         "description": "Account upon which to report.",
-         "required": true,
-         "location": "path"
-        },
-        "currency": {
-         "type": "string",
-         "description": "Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.",
-         "pattern": "[a-zA-Z]+",
-         "location": "query"
-        },
-        "ids": {
-         "type": "string",
-         "description": "Select only user profiles with these IDs.",
-         "format": "int64",
-         "repeated": true,
-         "location": "query"
-        },
-        "dimension": {
-         "type": "string",
-         "description": "Dimensions to base the report on.",
-         "pattern": "[a-zA-Z_]+",
-         "repeated": true,
-         "location": "query"
-        }
-       }
-      }
-     }
-    }
-   }
-  }
- }
-}
diff --git a/google-api-go-generator/testdata/repeated.want b/google-api-go-generator/testdata/repeated.want
deleted file mode 100644
index b06b699..0000000
--- a/google-api-go-generator/testdata/repeated.want
+++ /dev/null
@@ -1,221 +0,0 @@
-// Package repeated provides access to the Example API.
-//
-// Usage example:
-//
-//   import "google.golang.org/api/repeated/v1"
-//   ...
-//   repeatedService, err := repeated.New(oauthHttpClient)
-package repeated // import "google.golang.org/api/repeated/v1"
-
-import (
-	"bytes"
-	"encoding/json"
-	"errors"
-	"fmt"
-	"golang.org/x/net/context"
-	"golang.org/x/net/context/ctxhttp"
-	"google.golang.org/api/googleapi"
-	"google.golang.org/api/internal"
-	"io"
-	"net/http"
-	"net/url"
-	"strconv"
-	"strings"
-)
-
-// Always reference these packages, just in case the auto-generated code
-// below doesn't.
-var _ = bytes.NewBuffer
-var _ = strconv.Itoa
-var _ = fmt.Sprintf
-var _ = json.NewDecoder
-var _ = io.Copy
-var _ = url.Parse
-var _ = googleapi.Version
-var _ = errors.New
-var _ = strings.Replace
-var _ = internal.MarshalJSON
-
-const apiId = "repeated:v1"
-const apiName = "repeated"
-const apiVersion = "v1"
-const basePath = "https://www.googleapis.com/discovery/v1/apis"
-
-func New(client *http.Client) (*Service, error) {
-	if client == nil {
-		return nil, errors.New("client is nil")
-	}
-	s := &Service{client: client, BasePath: basePath}
-	s.Accounts = NewAccountsService(s)
-	return s, nil
-}
-
-type Service struct {
-	client    *http.Client
-	BasePath  string // API endpoint base URL
-	UserAgent string // optional additional User-Agent fragment
-
-	Accounts *AccountsService
-}
-
-func (s *Service) userAgent() string {
-	if s.UserAgent == "" {
-		return googleapi.UserAgent
-	}
-	return googleapi.UserAgent + " " + s.UserAgent
-}
-
-func NewAccountsService(s *Service) *AccountsService {
-	rs := &AccountsService{s: s}
-	rs.Reports = NewAccountsReportsService(s)
-	return rs
-}
-
-type AccountsService struct {
-	s *Service
-
-	Reports *AccountsReportsService
-}
-
-func NewAccountsReportsService(s *Service) *AccountsReportsService {
-	rs := &AccountsReportsService{s: s}
-	return rs
-}
-
-type AccountsReportsService struct {
-	s *Service
-}
-
-// method id "adsense.accounts.reports.generate":
-
-type AccountsReportsGenerateCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
-}
-
-// Generate: Generate an AdSense report based on the report request sent
-// in the query parameters. Returns the result as JSON; to retrieve
-// output in CSV format specify "alt=csv" as a query parameter.
-func (r *AccountsReportsService) Generate() *AccountsReportsGenerateCall {
-	c := &AccountsReportsGenerateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	return c
-}
-
-// Currency sets the optional parameter "currency": Optional currency to
-// use when reporting on monetary metrics. Defaults to the account's
-// currency if not set.
-func (c *AccountsReportsGenerateCall) Currency(currency string) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("currency", currency)
-	return c
-}
-
-// Dimension sets the optional parameter "dimension": Dimensions to base
-// the report on.
-func (c *AccountsReportsGenerateCall) Dimension(dimension []string) *AccountsReportsGenerateCall {
-	c.urlParams_.SetMulti("dimension", append([]string{}, dimension...))
-	return c
-}
-
-// Ids sets the optional parameter "ids": Select only user profiles with
-// these IDs.
-func (c *AccountsReportsGenerateCall) Ids(ids []int64) *AccountsReportsGenerateCall {
-	var ids_ []string
-	for _, v := range ids {
-		ids_ = append(ids_, fmt.Sprintf("%v", v))
-	}
-	c.urlParams_.SetMulti("ids", ids_)
-	return c
-}
-
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
-// for more information.
-func (c *AccountsReportsGenerateCall) Fields(s ...googleapi.Field) *AccountsReportsGenerateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
-	return c
-}
-
-// IfNoneMatch sets the optional parameter which makes the operation
-// fail if the object's ETag matches the given value. This is useful for
-// getting updates only after the object has changed since the last
-// request. Use googleapi.IsNotModified to check whether the response
-// error from Do is the result of In-None-Match.
-func (c *AccountsReportsGenerateCall) IfNoneMatch(entityTag string) *AccountsReportsGenerateCall {
-	c.ifNoneMatch_ = entityTag
-	return c
-}
-
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-func (c *AccountsReportsGenerateCall) Context(ctx context.Context) *AccountsReportsGenerateCall {
-	c.ctx_ = ctx
-	return c
-}
-
-func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
-	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
-	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/reports")
-	urls += "?" + c.urlParams_.Encode()
-	req, _ := http.NewRequest("GET", urls, body)
-	googleapi.SetOpaque(req.URL)
-	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
-	}
-	if c.ctx_ != nil {
-		return ctxhttp.Do(c.ctx_, c.s.client, req)
-	}
-	return c.s.client.Do(req)
-}
-
-// Do executes the "adsense.accounts.reports.generate" call.
-func (c *AccountsReportsGenerateCall) Do() error {
-	res, err := c.doRequest("json")
-	if err != nil {
-		return err
-	}
-	defer googleapi.CloseBody(res)
-	if err := googleapi.CheckResponse(res); err != nil {
-		return err
-	}
-	return nil
-	// {
-	//   "description": "Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.",
-	//   "httpMethod": "GET",
-	//   "id": "adsense.accounts.reports.generate",
-	//   "parameters": {
-	//     "accountId": {
-	//       "description": "Account upon which to report.",
-	//       "location": "path",
-	//       "required": true,
-	//       "type": "string"
-	//     },
-	//     "currency": {
-	//       "description": "Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.",
-	//       "location": "query",
-	//       "pattern": "[a-zA-Z]+",
-	//       "type": "string"
-	//     },
-	//     "dimension": {
-	//       "description": "Dimensions to base the report on.",
-	//       "location": "query",
-	//       "pattern": "[a-zA-Z_]+",
-	//       "repeated": true,
-	//       "type": "string"
-	//     },
-	//     "ids": {
-	//       "description": "Select only user profiles with these IDs.",
-	//       "format": "int64",
-	//       "location": "query",
-	//       "repeated": true,
-	//       "type": "string"
-	//     }
-	//   },
-	//   "path": "accounts/{accountId}/reports"
-	// }
-
-}
diff --git a/google-api-go-generator/testdata/resource-named-service.want b/google-api-go-generator/testdata/resource-named-service.want
index 28ae853..cf470a6 100644
--- a/google-api-go-generator/testdata/resource-named-service.want
+++ b/google-api-go-generator/testdata/resource-named-service.want
@@ -1221,17 +1221,16 @@
 // method id "blogger.blogUserInfos.get":
 
 type BlogUserInfosGetCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog and user info pair by blogId and userId.
 func (r *BlogUserInfosService) Get(userId string, blogId string) *BlogUserInfosGetCall {
-	c := &BlogUserInfosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogUserInfosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	return c
@@ -1240,15 +1239,15 @@
 // MaxPosts sets the optional parameter "maxPosts": Maximum number of
 // posts to pull back with the blog.
 func (c *BlogUserInfosGetCall) MaxPosts(maxPosts int64) *BlogUserInfosGetCall {
-	c.urlParams_.Set("maxPosts", fmt.Sprintf("%v", maxPosts))
+	c.opt_["maxPosts"] = maxPosts
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogUserInfosGetCall) Fields(s ...googleapi.Field) *BlogUserInfosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1258,13 +1257,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogUserInfosGetCall) IfNoneMatch(entityTag string) *BlogUserInfosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogUserInfosGetCall) Context(ctx context.Context) *BlogUserInfosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1272,17 +1271,24 @@
 
 func (c *BlogUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxPosts"]; ok {
+		params.Set("maxPosts", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1368,16 +1374,15 @@
 // method id "blogger.blogs.get":
 
 type BlogsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog by id.
 func (r *BlogsService) Get(blogId string) *BlogsGetCall {
-	c := &BlogsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -1385,15 +1390,15 @@
 // MaxPosts sets the optional parameter "maxPosts": Maximum number of
 // posts to pull back with the blog.
 func (c *BlogsGetCall) MaxPosts(maxPosts int64) *BlogsGetCall {
-	c.urlParams_.Set("maxPosts", fmt.Sprintf("%v", maxPosts))
+	c.opt_["maxPosts"] = maxPosts
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetCall) Fields(s ...googleapi.Field) *BlogsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1403,13 +1408,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetCall) IfNoneMatch(entityTag string) *BlogsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetCall) Context(ctx context.Context) *BlogsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1417,16 +1422,23 @@
 
 func (c *BlogsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxPosts"]; ok {
+		params.Set("maxPosts", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1505,24 +1517,24 @@
 // method id "blogger.blogs.getByUrl":
 
 type BlogsGetByUrlCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	url  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetByUrl: Retrieve a Blog by URL.
 func (r *BlogsService) GetByUrl(url string) *BlogsGetByUrlCall {
-	c := &BlogsGetByUrlCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("url", url)
+	c := &BlogsGetByUrlCall{s: r.s, opt_: make(map[string]interface{})}
+	c.url = url
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsGetByUrlCall) Fields(s ...googleapi.Field) *BlogsGetByUrlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1532,13 +1544,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsGetByUrlCall) IfNoneMatch(entityTag string) *BlogsGetByUrlCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsGetByUrlCall) Context(ctx context.Context) *BlogsGetByUrlCall {
 	c.ctx_ = ctx
 	return c
@@ -1546,14 +1558,19 @@
 
 func (c *BlogsGetByUrlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("url", fmt.Sprintf("%v", c.url))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/byurl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1626,16 +1643,15 @@
 // method id "blogger.blogs.listByUser":
 
 type BlogsListByUserCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // ListByUser: Retrieves a list of blogs, possibly filtered.
 func (r *BlogsService) ListByUser(userId string) *BlogsListByUserCall {
-	c := &BlogsListByUserCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BlogsListByUserCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -1644,7 +1660,7 @@
 // the response is a list of blogs with per-user information instead of
 // just blogs.
 func (c *BlogsListByUserCall) FetchUserInfo(fetchUserInfo bool) *BlogsListByUserCall {
-	c.urlParams_.Set("fetchUserInfo", fmt.Sprintf("%v", fetchUserInfo))
+	c.opt_["fetchUserInfo"] = fetchUserInfo
 	return c
 }
 
@@ -1655,15 +1671,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *BlogsListByUserCall) View(view string) *BlogsListByUserCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BlogsListByUserCall) Fields(s ...googleapi.Field) *BlogsListByUserCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1673,13 +1689,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BlogsListByUserCall) IfNoneMatch(entityTag string) *BlogsListByUserCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BlogsListByUserCall) Context(ctx context.Context) *BlogsListByUserCall {
 	c.ctx_ = ctx
 	return c
@@ -1687,16 +1703,26 @@
 
 func (c *BlogsListByUserCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchUserInfo"]; ok {
+		params.Set("fetchUserInfo", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1788,34 +1814,34 @@
 // method id "blogger.comments.approve":
 
 type CommentsApproveCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Approve: Marks a comment as not spam.
 func (r *CommentsService) Approve(blogId string, postId string, commentId string) *CommentsApproveCall {
-	c := &CommentsApproveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsApproveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsApproveCall) Fields(s ...googleapi.Field) *CommentsApproveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsApproveCall) Context(ctx context.Context) *CommentsApproveCall {
 	c.ctx_ = ctx
 	return c
@@ -1823,9 +1849,13 @@
 
 func (c *CommentsApproveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/approve")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -1917,34 +1947,34 @@
 // method id "blogger.comments.delete":
 
 type CommentsDeleteCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Delete a comment by id.
 func (r *CommentsService) Delete(blogId string, postId string, commentId string) *CommentsDeleteCall {
-	c := &CommentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsDeleteCall) Fields(s ...googleapi.Field) *CommentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsDeleteCall) Context(ctx context.Context) *CommentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1952,9 +1982,13 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2019,29 +2053,28 @@
 // method id "blogger.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets one comment by id.
 func (r *CommentsService) Get(blogId string, postId string, commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2051,13 +2084,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2065,9 +2098,13 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2075,8 +2112,8 @@
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2163,17 +2200,16 @@
 // method id "blogger.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the comments for a post, possibly filtered.
 func (r *CommentsService) List(blogId string, postId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -2182,35 +2218,35 @@
 // EndDate sets the optional parameter "endDate": Latest date of comment
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) EndDate(endDate string) *CommentsListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListCall) FetchBodies(fetchBodies bool) *CommentsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListCall) StartDate(startDate string) *CommentsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -2221,8 +2257,8 @@
 //   "live" - Comments that are publicly visible
 //   "pending" - Comments that are awaiting administrator approval
 //   "spam" - Comments marked as spam by the administrator
-func (c *CommentsListCall) Statuses(statuses []string) *CommentsListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *CommentsListCall) Statuses(statuses string) *CommentsListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -2233,15 +2269,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *CommentsListCall) View(view string) *CommentsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2251,13 +2287,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2265,17 +2301,42 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2414,17 +2475,16 @@
 // method id "blogger.comments.listByBlog":
 
 type CommentsListByBlogCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // ListByBlog: Retrieves the comments for a blog, across all posts,
 // possibly filtered.
 func (r *CommentsService) ListByBlog(blogId string) *CommentsListByBlogCall {
-	c := &CommentsListByBlogCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListByBlogCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -2432,43 +2492,43 @@
 // EndDate sets the optional parameter "endDate": Latest date of comment
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListByBlogCall) EndDate(endDate string) *CommentsListByBlogCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of the comments is included.
 func (c *CommentsListByBlogCall) FetchBodies(fetchBodies bool) *CommentsListByBlogCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of comments to include in the result.
 func (c *CommentsListByBlogCall) MaxResults(maxResults int64) *CommentsListByBlogCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if request is paged.
 func (c *CommentsListByBlogCall) PageToken(pageToken string) *CommentsListByBlogCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest date of
 // comment to fetch, a date-time with RFC 3339 formatting.
 func (c *CommentsListByBlogCall) StartDate(startDate string) *CommentsListByBlogCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListByBlogCall) Fields(s ...googleapi.Field) *CommentsListByBlogCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2478,13 +2538,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListByBlogCall) IfNoneMatch(entityTag string) *CommentsListByBlogCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListByBlogCall) Context(ctx context.Context) *CommentsListByBlogCall {
 	c.ctx_ = ctx
 	return c
@@ -2492,16 +2552,35 @@
 
 func (c *CommentsListByBlogCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2602,34 +2681,34 @@
 // method id "blogger.comments.markAsSpam":
 
 type CommentsMarkAsSpamCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // MarkAsSpam: Marks a comment as spam.
 func (r *CommentsService) MarkAsSpam(blogId string, postId string, commentId string) *CommentsMarkAsSpamCall {
-	c := &CommentsMarkAsSpamCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsMarkAsSpamCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsMarkAsSpamCall) Fields(s ...googleapi.Field) *CommentsMarkAsSpamCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsMarkAsSpamCall) Context(ctx context.Context) *CommentsMarkAsSpamCall {
 	c.ctx_ = ctx
 	return c
@@ -2637,9 +2716,13 @@
 
 func (c *CommentsMarkAsSpamCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/spam")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2731,34 +2814,34 @@
 // method id "blogger.comments.removeContent":
 
 type CommentsRemoveContentCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	commentId  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	blogId    string
+	postId    string
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // RemoveContent: Removes the content of a comment.
 func (r *CommentsService) RemoveContent(blogId string, postId string, commentId string) *CommentsRemoveContentCall {
-	c := &CommentsRemoveContentCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsRemoveContentCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsRemoveContentCall) Fields(s ...googleapi.Field) *CommentsRemoveContentCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsRemoveContentCall) Context(ctx context.Context) *CommentsRemoveContentCall {
 	c.ctx_ = ctx
 	return c
@@ -2766,9 +2849,13 @@
 
 func (c *CommentsRemoveContentCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId":    c.blogId,
@@ -2860,16 +2947,15 @@
 // method id "blogger.pageViews.get":
 
 type PageViewsGetCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieve pageview stats for a Blog.
 func (r *PageViewsService) Get(blogId string) *PageViewsGetCall {
-	c := &PageViewsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PageViewsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -2880,16 +2966,16 @@
 //   "30DAYS" - Page view counts from the last thirty days.
 //   "7DAYS" - Page view counts from the last seven days.
 //   "all" - Total page view counts from all time.
-func (c *PageViewsGetCall) Range(range_ []string) *PageViewsGetCall {
-	c.urlParams_.SetMulti("range_", append([]string{}, range_...))
+func (c *PageViewsGetCall) Range(range_ string) *PageViewsGetCall {
+	c.opt_["range"] = range_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PageViewsGetCall) Fields(s ...googleapi.Field) *PageViewsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2899,13 +2985,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PageViewsGetCall) IfNoneMatch(entityTag string) *PageViewsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PageViewsGetCall) Context(ctx context.Context) *PageViewsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2913,16 +2999,23 @@
 
 func (c *PageViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["range"]; ok {
+		params.Set("range", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pageviews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3009,32 +3102,32 @@
 // method id "blogger.pages.delete":
 
 type PagesDeleteCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Delete a page by id.
 func (r *PagesService) Delete(blogId string, pageId string) *PagesDeleteCall {
-	c := &PagesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesDeleteCall) Fields(s ...googleapi.Field) *PagesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesDeleteCall) Context(ctx context.Context) *PagesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3042,9 +3135,13 @@
 
 func (c *PagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3101,17 +3198,16 @@
 // method id "blogger.pages.get":
 
 type PagesGetCall struct {
-	s            *Service
-	blogId       string
-	pageId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	pageId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one blog page by id.
 func (r *PagesService) Get(blogId string, pageId string) *PagesGetCall {
-	c := &PagesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	return c
@@ -3124,15 +3220,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PagesGetCall) View(view string) *PagesGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesGetCall) Fields(s ...googleapi.Field) *PagesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3142,13 +3238,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesGetCall) IfNoneMatch(entityTag string) *PagesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesGetCall) Context(ctx context.Context) *PagesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3156,17 +3252,24 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"pageId": c.pageId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3260,32 +3363,32 @@
 // method id "blogger.pages.insert":
 
 type PagesInsertCall struct {
-	s          *Service
-	blogId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Add a page.
 func (r *PagesService) Insert(blogId string, page *Page) *PagesInsertCall {
-	c := &PagesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.page = page
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesInsertCall) Fields(s ...googleapi.Field) *PagesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesInsertCall) Context(ctx context.Context) *PagesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3298,9 +3401,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3380,17 +3487,16 @@
 // method id "blogger.pages.list":
 
 type PagesListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves the pages for a blog, optionally including non-LIVE
 // statuses.
 func (r *PagesService) List(blogId string) *PagesListCall {
-	c := &PagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -3398,7 +3504,7 @@
 // FetchBodies sets the optional parameter "fetchBodies": Whether to
 // retrieve the Page bodies.
 func (c *PagesListCall) FetchBodies(fetchBodies bool) *PagesListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
@@ -3408,8 +3514,8 @@
 //   "draft" - Draft (unpublished) Pages
 //   "imported" - Pages that have had their content removed
 //   "live" - Pages that are publicly visible
-func (c *PagesListCall) Statuses(statuses []string) *PagesListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *PagesListCall) Statuses(statuses string) *PagesListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -3420,15 +3526,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PagesListCall) View(view string) *PagesListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesListCall) Fields(s ...googleapi.Field) *PagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3438,13 +3544,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagesListCall) IfNoneMatch(entityTag string) *PagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesListCall) Context(ctx context.Context) *PagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3452,16 +3558,29 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3568,34 +3687,34 @@
 // method id "blogger.pages.patch":
 
 type PagesPatchCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Update a page. This method supports patch semantics.
 func (r *PagesService) Patch(blogId string, pageId string, page *Page) *PagesPatchCall {
-	c := &PagesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	c.page = page
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesPatchCall) Fields(s ...googleapi.Field) *PagesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesPatchCall) Context(ctx context.Context) *PagesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3608,9 +3727,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3698,34 +3821,34 @@
 // method id "blogger.pages.update":
 
 type PagesUpdateCall struct {
-	s          *Service
-	blogId     string
-	pageId     string
-	page       *Page
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	pageId string
+	page   *Page
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Update a page.
 func (r *PagesService) Update(blogId string, pageId string, page *Page) *PagesUpdateCall {
-	c := &PagesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PagesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.pageId = pageId
 	c.page = page
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagesUpdateCall) Fields(s ...googleapi.Field) *PagesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagesUpdateCall) Context(ctx context.Context) *PagesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3738,9 +3861,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/pages/{pageId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -3828,18 +3955,17 @@
 // method id "blogger.postUserInfos.get":
 
 type PostUserInfosGetCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one post and user info pair by postId and userId.
 func (r *PostUserInfosService) Get(userId string, blogId string, postId string) *PostUserInfosGetCall {
-	c := &PostUserInfosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostUserInfosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	c.postId = postId
@@ -3849,15 +3975,15 @@
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostUserInfosGetCall) MaxComments(maxComments int64) *PostUserInfosGetCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostUserInfosGetCall) Fields(s ...googleapi.Field) *PostUserInfosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3867,13 +3993,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostUserInfosGetCall) IfNoneMatch(entityTag string) *PostUserInfosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostUserInfosGetCall) Context(ctx context.Context) *PostUserInfosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3881,9 +4007,16 @@
 
 func (c *PostUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -3891,8 +4024,8 @@
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3985,18 +4118,17 @@
 // method id "blogger.postUserInfos.list":
 
 type PostUserInfosListCall struct {
-	s            *Service
-	userId       string
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of post and user info pairs, possibly
 // filtered.
 func (r *PostUserInfosService) List(userId string, blogId string) *PostUserInfosListCall {
-	c := &PostUserInfosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostUserInfosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.blogId = blogId
 	return c
@@ -4005,28 +4137,28 @@
 // EndDate sets the optional parameter "endDate": Latest post date to
 // fetch, a date-time with RFC 3339 formatting.
 func (c *PostUserInfosListCall) EndDate(endDate string) *PostUserInfosListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
 // FetchBodies sets the optional parameter "fetchBodies": Whether the
 // body content of posts is included.
 func (c *PostUserInfosListCall) FetchBodies(fetchBodies bool) *PostUserInfosListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // Labels sets the optional parameter "labels": Comma-separated list of
 // labels to search for.
 func (c *PostUserInfosListCall) Labels(labels string) *PostUserInfosListCall {
-	c.urlParams_.Set("labels", labels)
+	c.opt_["labels"] = labels
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostUserInfosListCall) MaxResults(maxResults int64) *PostUserInfosListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4036,21 +4168,21 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostUserInfosListCall) OrderBy(orderBy string) *PostUserInfosListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostUserInfosListCall) PageToken(pageToken string) *PostUserInfosListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostUserInfosListCall) StartDate(startDate string) *PostUserInfosListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -4060,8 +4192,8 @@
 //   "draft" - Draft posts
 //   "live" - Published posts
 //   "scheduled" - Posts that are scheduled to publish in future.
-func (c *PostUserInfosListCall) Statuses(statuses []string) *PostUserInfosListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *PostUserInfosListCall) Statuses(statuses string) *PostUserInfosListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -4072,15 +4204,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostUserInfosListCall) View(view string) *PostUserInfosListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostUserInfosListCall) Fields(s ...googleapi.Field) *PostUserInfosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4090,13 +4222,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostUserInfosListCall) IfNoneMatch(entityTag string) *PostUserInfosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostUserInfosListCall) Context(ctx context.Context) *PostUserInfosListCall {
 	c.ctx_ = ctx
 	return c
@@ -4104,17 +4236,48 @@
 
 func (c *PostUserInfosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4270,32 +4433,32 @@
 // method id "blogger.posts.delete":
 
 type PostsDeleteCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Delete a post by id.
 func (r *PostsService) Delete(blogId string, postId string) *PostsDeleteCall {
-	c := &PostsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsDeleteCall) Fields(s ...googleapi.Field) *PostsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsDeleteCall) Context(ctx context.Context) *PostsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4303,9 +4466,13 @@
 
 func (c *PostsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4362,17 +4529,16 @@
 // method id "blogger.posts.get":
 
 type PostsGetCall struct {
-	s            *Service
-	blogId       string
-	postId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get a post by id.
 func (r *PostsService) Get(blogId string, postId string) *PostsGetCall {
-	c := &PostsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -4381,7 +4547,7 @@
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostsGetCall) MaxComments(maxComments int64) *PostsGetCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
@@ -4392,15 +4558,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PostsGetCall) View(view string) *PostsGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetCall) Fields(s ...googleapi.Field) *PostsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4410,13 +4576,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetCall) IfNoneMatch(entityTag string) *PostsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetCall) Context(ctx context.Context) *PostsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4424,17 +4590,27 @@
 
 func (c *PostsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 		"postId": c.postId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4534,25 +4710,25 @@
 // method id "blogger.posts.getByPath":
 
 type PostsGetByPathCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	path   string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // GetByPath: Retrieve a Post by Path.
 func (r *PostsService) GetByPath(blogId string, path string) *PostsGetByPathCall {
-	c := &PostsGetByPathCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsGetByPathCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
-	c.urlParams_.Set("path", path)
+	c.path = path
 	return c
 }
 
 // MaxComments sets the optional parameter "maxComments": Maximum number
 // of comments to pull back on a post.
 func (c *PostsGetByPathCall) MaxComments(maxComments int64) *PostsGetByPathCall {
-	c.urlParams_.Set("maxComments", fmt.Sprintf("%v", maxComments))
+	c.opt_["maxComments"] = maxComments
 	return c
 }
 
@@ -4563,15 +4739,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Admin level detail
 func (c *PostsGetByPathCall) View(view string) *PostsGetByPathCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsGetByPathCall) Fields(s ...googleapi.Field) *PostsGetByPathCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4581,13 +4757,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsGetByPathCall) IfNoneMatch(entityTag string) *PostsGetByPathCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsGetByPathCall) Context(ctx context.Context) *PostsGetByPathCall {
 	c.ctx_ = ctx
 	return c
@@ -4595,16 +4771,27 @@
 
 func (c *PostsGetByPathCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("path", fmt.Sprintf("%v", c.path))
+	if v, ok := c.opt_["maxComments"]; ok {
+		params.Set("maxComments", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/bypath")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4704,16 +4891,16 @@
 // method id "blogger.posts.insert":
 
 type PostsInsertCall struct {
-	s          *Service
-	blogId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Add a post.
 func (r *PostsService) Insert(blogId string, post *Post) *PostsInsertCall {
-	c := &PostsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.post = post
 	return c
@@ -4722,21 +4909,21 @@
 // IsDraft sets the optional parameter "isDraft": Whether to create the
 // post as a draft
 func (c *PostsInsertCall) IsDraft(isDraft bool) *PostsInsertCall {
-	c.urlParams_.Set("isDraft", fmt.Sprintf("%v", isDraft))
+	c.opt_["isDraft"] = isDraft
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsInsertCall) Fields(s ...googleapi.Field) *PostsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsInsertCall) Context(ctx context.Context) *PostsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4749,9 +4936,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["isDraft"]; ok {
+		params.Set("isDraft", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -4836,16 +5030,15 @@
 // method id "blogger.posts.list":
 
 type PostsListCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of posts, possibly filtered.
 func (r *PostsService) List(blogId string) *PostsListCall {
-	c := &PostsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	return c
 }
@@ -4853,7 +5046,7 @@
 // EndDate sets the optional parameter "endDate": Latest post date to
 // fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) EndDate(endDate string) *PostsListCall {
-	c.urlParams_.Set("endDate", endDate)
+	c.opt_["endDate"] = endDate
 	return c
 }
 
@@ -4862,28 +5055,28 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsListCall) FetchBodies(fetchBodies bool) *PostsListCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
 // FetchImages sets the optional parameter "fetchImages": Whether image
 // URL metadata for each post is included.
 func (c *PostsListCall) FetchImages(fetchImages bool) *PostsListCall {
-	c.urlParams_.Set("fetchImages", fmt.Sprintf("%v", fetchImages))
+	c.opt_["fetchImages"] = fetchImages
 	return c
 }
 
 // Labels sets the optional parameter "labels": Comma-separated list of
 // labels to search for.
 func (c *PostsListCall) Labels(labels string) *PostsListCall {
-	c.urlParams_.Set("labels", labels)
+	c.opt_["labels"] = labels
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of posts to fetch.
 func (c *PostsListCall) MaxResults(maxResults int64) *PostsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4893,21 +5086,21 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostsListCall) OrderBy(orderBy string) *PostsListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Continuation token
 // if the request is paged.
 func (c *PostsListCall) PageToken(pageToken string) *PostsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // StartDate sets the optional parameter "startDate": Earliest post date
 // to fetch, a date-time with RFC 3339 formatting.
 func (c *PostsListCall) StartDate(startDate string) *PostsListCall {
-	c.urlParams_.Set("startDate", startDate)
+	c.opt_["startDate"] = startDate
 	return c
 }
 
@@ -4917,8 +5110,8 @@
 //   "draft" - Draft posts
 //   "live" - Published posts
 //   "scheduled" - Posts that are scheduled to publish in future.
-func (c *PostsListCall) Statuses(statuses []string) *PostsListCall {
-	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
+func (c *PostsListCall) Statuses(statuses string) *PostsListCall {
+	c.opt_["statuses"] = statuses
 	return c
 }
 
@@ -4929,15 +5122,15 @@
 //   "AUTHOR" - Author level detail
 //   "READER" - Reader level detail
 func (c *PostsListCall) View(view string) *PostsListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsListCall) Fields(s ...googleapi.Field) *PostsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4947,13 +5140,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsListCall) IfNoneMatch(entityTag string) *PostsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsListCall) Context(ctx context.Context) *PostsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4961,16 +5154,50 @@
 
 func (c *PostsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["endDate"]; ok {
+		params.Set("endDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fetchImages"]; ok {
+		params.Set("fetchImages", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["labels"]; ok {
+		params.Set("labels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["startDate"]; ok {
+		params.Set("startDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["statuses"]; ok {
+		params.Set("statuses", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5125,34 +5352,34 @@
 // method id "blogger.posts.patch":
 
 type PostsPatchCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Update a post. This method supports patch semantics.
 func (r *PostsService) Patch(blogId string, postId string, post *Post) *PostsPatchCall {
-	c := &PostsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.post = post
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsPatchCall) Fields(s ...googleapi.Field) *PostsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsPatchCall) Context(ctx context.Context) *PostsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5165,9 +5392,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5255,16 +5486,16 @@
 // method id "blogger.posts.publish":
 
 type PostsPublishCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Publish: Publish a draft post.
 func (r *PostsService) Publish(blogId string, postId string) *PostsPublishCall {
-	c := &PostsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
@@ -5273,21 +5504,21 @@
 // PublishDate sets the optional parameter "publishDate": The date and
 // time to schedule the publishing of the Blog.
 func (c *PostsPublishCall) PublishDate(publishDate string) *PostsPublishCall {
-	c.urlParams_.Set("publishDate", publishDate)
+	c.opt_["publishDate"] = publishDate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsPublishCall) Fields(s ...googleapi.Field) *PostsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsPublishCall) Context(ctx context.Context) *PostsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -5295,9 +5526,16 @@
 
 func (c *PostsPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["publishDate"]; ok {
+		params.Set("publishDate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5387,32 +5625,32 @@
 // method id "blogger.posts.revert":
 
 type PostsRevertCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Revert: Revert a published or scheduled post to draft state.
 func (r *PostsService) Revert(blogId string, postId string) *PostsRevertCall {
-	c := &PostsRevertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsRevertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsRevertCall) Fields(s ...googleapi.Field) *PostsRevertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsRevertCall) Context(ctx context.Context) *PostsRevertCall {
 	c.ctx_ = ctx
 	return c
@@ -5420,9 +5658,13 @@
 
 func (c *PostsRevertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}/revert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5506,18 +5748,18 @@
 // method id "blogger.posts.search":
 
 type PostsSearchCall struct {
-	s            *Service
-	blogId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	blogId string
+	q      string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Search: Search for a post.
 func (r *PostsService) Search(blogId string, q string) *PostsSearchCall {
-	c := &PostsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
-	c.urlParams_.Set("q", q)
+	c.q = q
 	return c
 }
 
@@ -5526,7 +5768,7 @@
 // to false when the post bodies are not required, to help minimize
 // traffic.
 func (c *PostsSearchCall) FetchBodies(fetchBodies bool) *PostsSearchCall {
-	c.urlParams_.Set("fetchBodies", fmt.Sprintf("%v", fetchBodies))
+	c.opt_["fetchBodies"] = fetchBodies
 	return c
 }
 
@@ -5536,15 +5778,15 @@
 //   "published" - Order by the date the post was published
 //   "updated" - Order by the date the post was last updated
 func (c *PostsSearchCall) OrderBy(orderBy string) *PostsSearchCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsSearchCall) Fields(s ...googleapi.Field) *PostsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5554,13 +5796,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PostsSearchCall) IfNoneMatch(entityTag string) *PostsSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsSearchCall) Context(ctx context.Context) *PostsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -5568,16 +5810,27 @@
 
 func (c *PostsSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("q", fmt.Sprintf("%v", c.q))
+	if v, ok := c.opt_["fetchBodies"]; ok {
+		params.Set("fetchBodies", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5677,34 +5930,34 @@
 // method id "blogger.posts.update":
 
 type PostsUpdateCall struct {
-	s          *Service
-	blogId     string
-	postId     string
-	post       *Post
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	blogId string
+	postId string
+	post   *Post
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Update a post.
 func (r *PostsService) Update(blogId string, postId string, post *Post) *PostsUpdateCall {
-	c := &PostsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PostsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.blogId = blogId
 	c.postId = postId
 	c.post = post
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PostsUpdateCall) Fields(s ...googleapi.Field) *PostsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PostsUpdateCall) Context(ctx context.Context) *PostsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5717,9 +5970,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "blogs/{blogId}/posts/{postId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"blogId": c.blogId,
@@ -5807,25 +6064,24 @@
 // method id "blogger.users.get":
 
 type UsersGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Gets one user by id.
 func (r *UsersService) Get(userId string) *UsersGetCall {
-	c := &UsersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5835,13 +6091,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5849,16 +6105,20 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/groupsmigration/v1/groupsmigration-gen.go b/groupsmigration/v1/groupsmigration-gen.go
index 6f74b4f..24645ba 100644
--- a/groupsmigration/v1/groupsmigration-gen.go
+++ b/groupsmigration/v1/groupsmigration-gen.go
@@ -112,38 +112,37 @@
 // method id "groupsmigration.archive.insert":
 
 type ArchiveInsertCall struct {
-	s                *Service
-	groupId          string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	groupId    string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Inserts a new mail into the archive of the Google group.
 func (r *ArchiveService) Insert(groupId string) *ArchiveInsertCall {
-	c := &ArchiveInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ArchiveInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupId = groupId
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ArchiveInsertCall) Media(r io.Reader) *ArchiveInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ArchiveInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ArchiveInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -152,28 +151,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ArchiveInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ArchiveInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ArchiveInsertCall) Fields(s ...googleapi.Field) *ArchiveInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ArchiveInsertCall) Context(ctx context.Context) *ArchiveInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -181,13 +179,17 @@
 
 func (c *ArchiveInsertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{groupId}/archive")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -242,6 +244,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -251,7 +259,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
diff --git a/groupssettings/v1/groupssettings-gen.go b/groupssettings/v1/groupssettings-gen.go
index c6094cf..6f1d807 100644
--- a/groupssettings/v1/groupssettings-gen.go
+++ b/groupssettings/v1/groupssettings-gen.go
@@ -215,23 +215,22 @@
 type GroupsGetCall struct {
 	s             *Service
 	groupUniqueId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Gets one resource by id.
 func (r *GroupsService) Get(groupUniqueId string) *GroupsGetCall {
-	c := &GroupsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupUniqueId = groupUniqueId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -241,13 +240,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -255,16 +254,20 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{groupUniqueId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupUniqueId": c.groupUniqueId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -339,30 +342,30 @@
 	s             *Service
 	groupUniqueId string
 	groups        *Groups
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Patch: Updates an existing resource. This method supports patch
 // semantics.
 func (r *GroupsService) Patch(groupUniqueId string, groups *Groups) *GroupsPatchCall {
-	c := &GroupsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupUniqueId = groupUniqueId
 	c.groups = groups
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsPatchCall) Fields(s ...googleapi.Field) *GroupsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsPatchCall) Context(ctx context.Context) *GroupsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -375,9 +378,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{groupUniqueId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupUniqueId": c.groupUniqueId,
@@ -460,29 +467,29 @@
 	s             *Service
 	groupUniqueId string
 	groups        *Groups
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates an existing resource.
 func (r *GroupsService) Update(groupUniqueId string, groups *Groups) *GroupsUpdateCall {
-	c := &GroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupUniqueId = groupUniqueId
 	c.groups = groups
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsUpdateCall) Fields(s ...googleapi.Field) *GroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsUpdateCall) Context(ctx context.Context) *GroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -495,9 +502,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{groupUniqueId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"groupUniqueId": c.groupUniqueId,
diff --git a/identitytoolkit/v3/identitytoolkit-gen.go b/identitytoolkit/v3/identitytoolkit-gen.go
index 626bc10..2203f92 100644
--- a/identitytoolkit/v3/identitytoolkit-gen.go
+++ b/identitytoolkit/v3/identitytoolkit-gen.go
@@ -1032,29 +1032,29 @@
 type RelyingpartyCreateAuthUriCall struct {
 	s                                               *Service
 	identitytoolkitrelyingpartycreateauthurirequest *IdentitytoolkitRelyingpartyCreateAuthUriRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
 // CreateAuthUri: Creates the URI used by the IdP to authenticate the
 // user.
 func (r *RelyingpartyService) CreateAuthUri(identitytoolkitrelyingpartycreateauthurirequest *IdentitytoolkitRelyingpartyCreateAuthUriRequest) *RelyingpartyCreateAuthUriCall {
-	c := &RelyingpartyCreateAuthUriCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyCreateAuthUriCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartycreateauthurirequest = identitytoolkitrelyingpartycreateauthurirequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyCreateAuthUriCall) Fields(s ...googleapi.Field) *RelyingpartyCreateAuthUriCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyCreateAuthUriCall) Context(ctx context.Context) *RelyingpartyCreateAuthUriCall {
 	c.ctx_ = ctx
 	return c
@@ -1067,9 +1067,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "createAuthUri")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1135,28 +1139,28 @@
 type RelyingpartyDeleteAccountCall struct {
 	s                                               *Service
 	identitytoolkitrelyingpartydeleteaccountrequest *IdentitytoolkitRelyingpartyDeleteAccountRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
 // DeleteAccount: Delete user account.
 func (r *RelyingpartyService) DeleteAccount(identitytoolkitrelyingpartydeleteaccountrequest *IdentitytoolkitRelyingpartyDeleteAccountRequest) *RelyingpartyDeleteAccountCall {
-	c := &RelyingpartyDeleteAccountCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyDeleteAccountCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartydeleteaccountrequest = identitytoolkitrelyingpartydeleteaccountrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyDeleteAccountCall) Fields(s ...googleapi.Field) *RelyingpartyDeleteAccountCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyDeleteAccountCall) Context(ctx context.Context) *RelyingpartyDeleteAccountCall {
 	c.ctx_ = ctx
 	return c
@@ -1169,9 +1173,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "deleteAccount")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1237,28 +1245,28 @@
 type RelyingpartyDownloadAccountCall struct {
 	s                                                 *Service
 	identitytoolkitrelyingpartydownloadaccountrequest *IdentitytoolkitRelyingpartyDownloadAccountRequest
-	urlParams_                                        internal.URLParams
+	opt_                                              map[string]interface{}
 	ctx_                                              context.Context
 }
 
 // DownloadAccount: Batch download user accounts.
 func (r *RelyingpartyService) DownloadAccount(identitytoolkitrelyingpartydownloadaccountrequest *IdentitytoolkitRelyingpartyDownloadAccountRequest) *RelyingpartyDownloadAccountCall {
-	c := &RelyingpartyDownloadAccountCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyDownloadAccountCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartydownloadaccountrequest = identitytoolkitrelyingpartydownloadaccountrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyDownloadAccountCall) Fields(s ...googleapi.Field) *RelyingpartyDownloadAccountCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyDownloadAccountCall) Context(ctx context.Context) *RelyingpartyDownloadAccountCall {
 	c.ctx_ = ctx
 	return c
@@ -1271,9 +1279,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "downloadAccount")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1339,28 +1351,28 @@
 type RelyingpartyGetAccountInfoCall struct {
 	s                                                *Service
 	identitytoolkitrelyingpartygetaccountinforequest *IdentitytoolkitRelyingpartyGetAccountInfoRequest
-	urlParams_                                       internal.URLParams
+	opt_                                             map[string]interface{}
 	ctx_                                             context.Context
 }
 
 // GetAccountInfo: Returns the account info.
 func (r *RelyingpartyService) GetAccountInfo(identitytoolkitrelyingpartygetaccountinforequest *IdentitytoolkitRelyingpartyGetAccountInfoRequest) *RelyingpartyGetAccountInfoCall {
-	c := &RelyingpartyGetAccountInfoCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyGetAccountInfoCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartygetaccountinforequest = identitytoolkitrelyingpartygetaccountinforequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyGetAccountInfoCall) Fields(s ...googleapi.Field) *RelyingpartyGetAccountInfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyGetAccountInfoCall) Context(ctx context.Context) *RelyingpartyGetAccountInfoCall {
 	c.ctx_ = ctx
 	return c
@@ -1373,9 +1385,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "getAccountInfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1441,28 +1457,28 @@
 type RelyingpartyGetOobConfirmationCodeCall struct {
 	s            *Service
 	relyingparty *Relyingparty
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // GetOobConfirmationCode: Get a code for user action confirmation.
 func (r *RelyingpartyService) GetOobConfirmationCode(relyingparty *Relyingparty) *RelyingpartyGetOobConfirmationCodeCall {
-	c := &RelyingpartyGetOobConfirmationCodeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyGetOobConfirmationCodeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.relyingparty = relyingparty
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyGetOobConfirmationCodeCall) Fields(s ...googleapi.Field) *RelyingpartyGetOobConfirmationCodeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyGetOobConfirmationCodeCall) Context(ctx context.Context) *RelyingpartyGetOobConfirmationCodeCall {
 	c.ctx_ = ctx
 	return c
@@ -1475,9 +1491,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "getOobConfirmationCode")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1541,23 +1561,22 @@
 // method id "identitytoolkit.relyingparty.getPublicKeys":
 
 type RelyingpartyGetPublicKeysCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetPublicKeys: Get token signing public key.
 func (r *RelyingpartyService) GetPublicKeys() *RelyingpartyGetPublicKeysCall {
-	c := &RelyingpartyGetPublicKeysCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyGetPublicKeysCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyGetPublicKeysCall) Fields(s ...googleapi.Field) *RelyingpartyGetPublicKeysCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1567,13 +1586,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RelyingpartyGetPublicKeysCall) IfNoneMatch(entityTag string) *RelyingpartyGetPublicKeysCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyGetPublicKeysCall) Context(ctx context.Context) *RelyingpartyGetPublicKeysCall {
 	c.ctx_ = ctx
 	return c
@@ -1581,14 +1600,18 @@
 
 func (c *RelyingpartyGetPublicKeysCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "publicKeys")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1626,23 +1649,22 @@
 // method id "identitytoolkit.relyingparty.getRecaptchaParam":
 
 type RelyingpartyGetRecaptchaParamCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetRecaptchaParam: Get recaptcha secure param.
 func (r *RelyingpartyService) GetRecaptchaParam() *RelyingpartyGetRecaptchaParamCall {
-	c := &RelyingpartyGetRecaptchaParamCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyGetRecaptchaParamCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyGetRecaptchaParamCall) Fields(s ...googleapi.Field) *RelyingpartyGetRecaptchaParamCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1652,13 +1674,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RelyingpartyGetRecaptchaParamCall) IfNoneMatch(entityTag string) *RelyingpartyGetRecaptchaParamCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyGetRecaptchaParamCall) Context(ctx context.Context) *RelyingpartyGetRecaptchaParamCall {
 	c.ctx_ = ctx
 	return c
@@ -1666,14 +1688,18 @@
 
 func (c *RelyingpartyGetRecaptchaParamCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "getRecaptchaParam")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1733,28 +1759,28 @@
 type RelyingpartyResetPasswordCall struct {
 	s                                               *Service
 	identitytoolkitrelyingpartyresetpasswordrequest *IdentitytoolkitRelyingpartyResetPasswordRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
 // ResetPassword: Reset password for a user.
 func (r *RelyingpartyService) ResetPassword(identitytoolkitrelyingpartyresetpasswordrequest *IdentitytoolkitRelyingpartyResetPasswordRequest) *RelyingpartyResetPasswordCall {
-	c := &RelyingpartyResetPasswordCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyResetPasswordCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartyresetpasswordrequest = identitytoolkitrelyingpartyresetpasswordrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyResetPasswordCall) Fields(s ...googleapi.Field) *RelyingpartyResetPasswordCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyResetPasswordCall) Context(ctx context.Context) *RelyingpartyResetPasswordCall {
 	c.ctx_ = ctx
 	return c
@@ -1767,9 +1793,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "resetPassword")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1835,28 +1865,28 @@
 type RelyingpartySetAccountInfoCall struct {
 	s                                                *Service
 	identitytoolkitrelyingpartysetaccountinforequest *IdentitytoolkitRelyingpartySetAccountInfoRequest
-	urlParams_                                       internal.URLParams
+	opt_                                             map[string]interface{}
 	ctx_                                             context.Context
 }
 
 // SetAccountInfo: Set account info for a user.
 func (r *RelyingpartyService) SetAccountInfo(identitytoolkitrelyingpartysetaccountinforequest *IdentitytoolkitRelyingpartySetAccountInfoRequest) *RelyingpartySetAccountInfoCall {
-	c := &RelyingpartySetAccountInfoCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartySetAccountInfoCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartysetaccountinforequest = identitytoolkitrelyingpartysetaccountinforequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartySetAccountInfoCall) Fields(s ...googleapi.Field) *RelyingpartySetAccountInfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartySetAccountInfoCall) Context(ctx context.Context) *RelyingpartySetAccountInfoCall {
 	c.ctx_ = ctx
 	return c
@@ -1869,9 +1899,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "setAccountInfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1937,28 +1971,28 @@
 type RelyingpartyUploadAccountCall struct {
 	s                                               *Service
 	identitytoolkitrelyingpartyuploadaccountrequest *IdentitytoolkitRelyingpartyUploadAccountRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
 // UploadAccount: Batch upload existing user accounts.
 func (r *RelyingpartyService) UploadAccount(identitytoolkitrelyingpartyuploadaccountrequest *IdentitytoolkitRelyingpartyUploadAccountRequest) *RelyingpartyUploadAccountCall {
-	c := &RelyingpartyUploadAccountCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyUploadAccountCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartyuploadaccountrequest = identitytoolkitrelyingpartyuploadaccountrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyUploadAccountCall) Fields(s ...googleapi.Field) *RelyingpartyUploadAccountCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyUploadAccountCall) Context(ctx context.Context) *RelyingpartyUploadAccountCall {
 	c.ctx_ = ctx
 	return c
@@ -1971,9 +2005,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "uploadAccount")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2039,28 +2077,28 @@
 type RelyingpartyVerifyAssertionCall struct {
 	s                                                 *Service
 	identitytoolkitrelyingpartyverifyassertionrequest *IdentitytoolkitRelyingpartyVerifyAssertionRequest
-	urlParams_                                        internal.URLParams
+	opt_                                              map[string]interface{}
 	ctx_                                              context.Context
 }
 
 // VerifyAssertion: Verifies the assertion returned by the IdP.
 func (r *RelyingpartyService) VerifyAssertion(identitytoolkitrelyingpartyverifyassertionrequest *IdentitytoolkitRelyingpartyVerifyAssertionRequest) *RelyingpartyVerifyAssertionCall {
-	c := &RelyingpartyVerifyAssertionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyVerifyAssertionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartyverifyassertionrequest = identitytoolkitrelyingpartyverifyassertionrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyVerifyAssertionCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyAssertionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyVerifyAssertionCall) Context(ctx context.Context) *RelyingpartyVerifyAssertionCall {
 	c.ctx_ = ctx
 	return c
@@ -2073,9 +2111,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyAssertion")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2141,28 +2183,28 @@
 type RelyingpartyVerifyPasswordCall struct {
 	s                                                *Service
 	identitytoolkitrelyingpartyverifypasswordrequest *IdentitytoolkitRelyingpartyVerifyPasswordRequest
-	urlParams_                                       internal.URLParams
+	opt_                                             map[string]interface{}
 	ctx_                                             context.Context
 }
 
 // VerifyPassword: Verifies the user entered password.
 func (r *RelyingpartyService) VerifyPassword(identitytoolkitrelyingpartyverifypasswordrequest *IdentitytoolkitRelyingpartyVerifyPasswordRequest) *RelyingpartyVerifyPasswordCall {
-	c := &RelyingpartyVerifyPasswordCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RelyingpartyVerifyPasswordCall{s: r.s, opt_: make(map[string]interface{})}
 	c.identitytoolkitrelyingpartyverifypasswordrequest = identitytoolkitrelyingpartyverifypasswordrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RelyingpartyVerifyPasswordCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyPasswordCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RelyingpartyVerifyPasswordCall) Context(ctx context.Context) *RelyingpartyVerifyPasswordCall {
 	c.ctx_ = ctx
 	return c
@@ -2175,9 +2217,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyPassword")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/internal/params.go b/internal/params.go
deleted file mode 100644
index d17be0f..0000000
--- a/internal/params.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package internal
-
-import "net/url"
-
-// URLParams is a simplified replacement for url.Values
-// that safely builds up URL parameters for encoding.
-type URLParams map[string][]string
-
-// Set sets the key to value.
-// It replaces any existing values.
-func (u URLParams) Set(key, value string) {
-	u[key] = []string{value}
-}
-
-// SetMulti sets the key to an array of values.
-// It replaces any existing values.
-// Note that values must not be modified after calling SetMulti
-// so the caller is responsible for making a copy if necessary.
-func (u URLParams) SetMulti(key string, values []string) {
-	u[key] = values
-}
-
-// Encode encodes the values into ``URL encoded'' form
-// ("bar=baz&foo=quux") sorted by key.
-func (u URLParams) Encode() string {
-	return url.Values(u).Encode()
-}
diff --git a/licensing/v1/licensing-gen.go b/licensing/v1/licensing-gen.go
index 85fae50..614b2d5 100644
--- a/licensing/v1/licensing-gen.go
+++ b/licensing/v1/licensing-gen.go
@@ -181,34 +181,34 @@
 // method id "licensing.licenseAssignments.delete":
 
 type LicenseAssignmentsDeleteCall struct {
-	s          *Service
-	productId  string
-	skuId      string
-	userId     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	productId string
+	skuId     string
+	userId    string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Revoke License.
 func (r *LicenseAssignmentsService) Delete(productId string, skuId string, userId string) *LicenseAssignmentsDeleteCall {
-	c := &LicenseAssignmentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
 	c.skuId = skuId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsDeleteCall) Fields(s ...googleapi.Field) *LicenseAssignmentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsDeleteCall) Context(ctx context.Context) *LicenseAssignmentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -216,9 +216,13 @@
 
 func (c *LicenseAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/sku/{skuId}/user/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
@@ -283,30 +287,29 @@
 // method id "licensing.licenseAssignments.get":
 
 type LicenseAssignmentsGetCall struct {
-	s            *Service
-	productId    string
-	skuId        string
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	productId string
+	skuId     string
+	userId    string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get license assignment of a particular product and sku for a
 // user
 func (r *LicenseAssignmentsService) Get(productId string, skuId string, userId string) *LicenseAssignmentsGetCall {
-	c := &LicenseAssignmentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
 	c.skuId = skuId
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsGetCall) Fields(s ...googleapi.Field) *LicenseAssignmentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -316,13 +319,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LicenseAssignmentsGetCall) IfNoneMatch(entityTag string) *LicenseAssignmentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsGetCall) Context(ctx context.Context) *LicenseAssignmentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -330,9 +333,13 @@
 
 func (c *LicenseAssignmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/sku/{skuId}/user/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
@@ -340,8 +347,8 @@
 		"userId":    c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -431,30 +438,30 @@
 	productId               string
 	skuId                   string
 	licenseassignmentinsert *LicenseAssignmentInsert
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
 // Insert: Assign License.
 func (r *LicenseAssignmentsService) Insert(productId string, skuId string, licenseassignmentinsert *LicenseAssignmentInsert) *LicenseAssignmentsInsertCall {
-	c := &LicenseAssignmentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
 	c.skuId = skuId
 	c.licenseassignmentinsert = licenseassignmentinsert
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsInsertCall) Fields(s ...googleapi.Field) *LicenseAssignmentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsInsertCall) Context(ctx context.Context) *LicenseAssignmentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -467,9 +474,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/sku/{skuId}/user")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
@@ -557,19 +568,19 @@
 // method id "licensing.licenseAssignments.listForProduct":
 
 type LicenseAssignmentsListForProductCall struct {
-	s            *Service
-	productId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	productId  string
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // ListForProduct: List license assignments for given product of the
 // customer.
 func (r *LicenseAssignmentsService) ListForProduct(productId string, customerId string) *LicenseAssignmentsListForProductCall {
-	c := &LicenseAssignmentsListForProductCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsListForProductCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
-	c.urlParams_.Set("customerId", customerId)
+	c.customerId = customerId
 	return c
 }
 
@@ -577,22 +588,22 @@
 // of campaigns to return at one time. Must be positive.  Default value
 // is 100.
 func (c *LicenseAssignmentsListForProductCall) MaxResults(maxResults int64) *LicenseAssignmentsListForProductCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to fetch the
 // next page. By default server will return first page
 func (c *LicenseAssignmentsListForProductCall) PageToken(pageToken string) *LicenseAssignmentsListForProductCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsListForProductCall) Fields(s ...googleapi.Field) *LicenseAssignmentsListForProductCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -602,13 +613,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LicenseAssignmentsListForProductCall) IfNoneMatch(entityTag string) *LicenseAssignmentsListForProductCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsListForProductCall) Context(ctx context.Context) *LicenseAssignmentsListForProductCall {
 	c.ctx_ = ctx
 	return c
@@ -616,16 +627,27 @@
 
 func (c *LicenseAssignmentsListForProductCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("customerId", fmt.Sprintf("%v", c.customerId))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -719,21 +741,21 @@
 // method id "licensing.licenseAssignments.listForProductAndSku":
 
 type LicenseAssignmentsListForProductAndSkuCall struct {
-	s            *Service
-	productId    string
-	skuId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	productId  string
+	skuId      string
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // ListForProductAndSku: List license assignments for given product and
 // sku of the customer.
 func (r *LicenseAssignmentsService) ListForProductAndSku(productId string, skuId string, customerId string) *LicenseAssignmentsListForProductAndSkuCall {
-	c := &LicenseAssignmentsListForProductAndSkuCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsListForProductAndSkuCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
 	c.skuId = skuId
-	c.urlParams_.Set("customerId", customerId)
+	c.customerId = customerId
 	return c
 }
 
@@ -741,22 +763,22 @@
 // of campaigns to return at one time. Must be positive.  Default value
 // is 100.
 func (c *LicenseAssignmentsListForProductAndSkuCall) MaxResults(maxResults int64) *LicenseAssignmentsListForProductAndSkuCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to fetch the
 // next page. By default server will return first page
 func (c *LicenseAssignmentsListForProductAndSkuCall) PageToken(pageToken string) *LicenseAssignmentsListForProductAndSkuCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsListForProductAndSkuCall) Fields(s ...googleapi.Field) *LicenseAssignmentsListForProductAndSkuCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -766,13 +788,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LicenseAssignmentsListForProductAndSkuCall) IfNoneMatch(entityTag string) *LicenseAssignmentsListForProductAndSkuCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsListForProductAndSkuCall) Context(ctx context.Context) *LicenseAssignmentsListForProductAndSkuCall {
 	c.ctx_ = ctx
 	return c
@@ -780,17 +802,28 @@
 
 func (c *LicenseAssignmentsListForProductAndSkuCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("customerId", fmt.Sprintf("%v", c.customerId))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/sku/{skuId}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
 		"skuId":     c.skuId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -896,13 +929,13 @@
 	skuId             string
 	userId            string
 	licenseassignment *LicenseAssignment
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Patch: Assign License. This method supports patch semantics.
 func (r *LicenseAssignmentsService) Patch(productId string, skuId string, userId string, licenseassignment *LicenseAssignment) *LicenseAssignmentsPatchCall {
-	c := &LicenseAssignmentsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
 	c.skuId = skuId
 	c.userId = userId
@@ -910,17 +943,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsPatchCall) Fields(s ...googleapi.Field) *LicenseAssignmentsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsPatchCall) Context(ctx context.Context) *LicenseAssignmentsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -933,9 +966,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/sku/{skuId}/user/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
@@ -1036,13 +1073,13 @@
 	skuId             string
 	userId            string
 	licenseassignment *LicenseAssignment
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Update: Assign License.
 func (r *LicenseAssignmentsService) Update(productId string, skuId string, userId string, licenseassignment *LicenseAssignment) *LicenseAssignmentsUpdateCall {
-	c := &LicenseAssignmentsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LicenseAssignmentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.productId = productId
 	c.skuId = skuId
 	c.userId = userId
@@ -1050,17 +1087,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LicenseAssignmentsUpdateCall) Fields(s ...googleapi.Field) *LicenseAssignmentsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LicenseAssignmentsUpdateCall) Context(ctx context.Context) *LicenseAssignmentsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1073,9 +1110,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{productId}/sku/{skuId}/user/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"productId": c.productId,
diff --git a/logging/v1beta3/logging-gen.go b/logging/v1beta3/logging-gen.go
index 1ad62f3..7ccddf8 100644
--- a/logging/v1beta3/logging-gen.go
+++ b/logging/v1beta3/logging-gen.go
@@ -1018,16 +1018,15 @@
 // method id "logging.projects.logServices.list":
 
 type ProjectsLogServicesListCall struct {
-	s            *Service
-	projectsId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the log services that have log entries in this project.
 func (r *ProjectsLogServicesService) List(projectsId string) *ProjectsLogServicesListCall {
-	c := &ProjectsLogServicesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	return c
 }
@@ -1040,14 +1039,14 @@
 // the log. A service is associated with an entry if its name is in the
 // entry's `LogEntryMetadata.serviceName` field.
 func (c *ProjectsLogServicesListCall) Log(log string) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("log", log)
+	c.opt_["log"] = log
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of `LogService` objects to return in one operation.
 func (c *ProjectsLogServicesListCall) PageSize(pageSize int64) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1057,15 +1056,15 @@
 // ignored, and instead the previous `ListLogServices` operation is
 // continued.
 func (c *ProjectsLogServicesListCall) PageToken(pageToken string) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesListCall) Fields(s ...googleapi.Field) *ProjectsLogServicesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1075,13 +1074,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesListCall) IfNoneMatch(entityTag string) *ProjectsLogServicesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesListCall) Context(ctx context.Context) *ProjectsLogServicesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1089,16 +1088,29 @@
 
 func (c *ProjectsLogServicesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["log"]; ok {
+		params.Set("log", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1192,14 +1204,13 @@
 	s             *Service
 	projectsId    string
 	logServicesId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists the current index values for a log service.
 func (r *ProjectsLogServicesIndexesService) List(projectsId string, logServicesId string) *ProjectsLogServicesIndexesListCall {
-	c := &ProjectsLogServicesIndexesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesIndexesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	return c
@@ -1216,7 +1227,7 @@
 // be any positive value less than the number of components in
 // `indexPrefix`.
 func (c *ProjectsLogServicesIndexesListCall) Depth(depth int64) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("depth", fmt.Sprintf("%v", depth))
+	c.opt_["depth"] = depth
 	return c
 }
 
@@ -1233,7 +1244,7 @@
 // `/Mod/10` and `/Mod/11` but not `/ModA/10`. + "/Mod/10/" retrieves
 // `/Mod/10` only. + An empty prefix or "/" retrieves all values.
 func (c *ProjectsLogServicesIndexesListCall) IndexPrefix(indexPrefix string) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("indexPrefix", indexPrefix)
+	c.opt_["indexPrefix"] = indexPrefix
 	return c
 }
 
@@ -1242,14 +1253,14 @@
 // indexes are returned for any service associated with entries in the
 // log.
 func (c *ProjectsLogServicesIndexesListCall) Log(log string) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("log", log)
+	c.opt_["log"] = log
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of log service index resources to return in one operation.
 func (c *ProjectsLogServicesIndexesListCall) PageSize(pageSize int64) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1259,15 +1270,15 @@
 // request are ignored, and instead the previous `ListLogServiceIndexes`
 // operation is continued.
 func (c *ProjectsLogServicesIndexesListCall) PageToken(pageToken string) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesIndexesListCall) Fields(s ...googleapi.Field) *ProjectsLogServicesIndexesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1277,13 +1288,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesIndexesListCall) IfNoneMatch(entityTag string) *ProjectsLogServicesIndexesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesIndexesListCall) Context(ctx context.Context) *ProjectsLogServicesIndexesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1291,17 +1302,36 @@
 
 func (c *ProjectsLogServicesIndexesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["depth"]; ok {
+		params.Set("depth", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["indexPrefix"]; ok {
+		params.Set("indexPrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["log"]; ok {
+		params.Set("log", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/indexes")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
 		"logServicesId": c.logServicesId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1414,31 +1444,31 @@
 	projectsId    string
 	logServicesId string
 	logsink       *LogSink
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Create: Creates a log service sink. All log entries from a specified
 // log service are written to the destination.
 func (r *ProjectsLogServicesSinksService) Create(projectsId string, logServicesId string, logsink *LogSink) *ProjectsLogServicesSinksCreateCall {
-	c := &ProjectsLogServicesSinksCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.logsink = logsink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksCreateCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksCreateCall) Context(ctx context.Context) *ProjectsLogServicesSinksCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1451,9 +1481,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1546,31 +1580,31 @@
 	projectsId    string
 	logServicesId string
 	sinksId       string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Delete: Deletes a log service sink. After deletion, no new log
 // entries are written to the destination.
 func (r *ProjectsLogServicesSinksService) Delete(projectsId string, logServicesId string, sinksId string) *ProjectsLogServicesSinksDeleteCall {
-	c := &ProjectsLogServicesSinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksDeleteCall) Context(ctx context.Context) *ProjectsLogServicesSinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1578,9 +1612,13 @@
 
 func (c *ProjectsLogServicesSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1677,25 +1715,24 @@
 	projectsId    string
 	logServicesId string
 	sinksId       string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Gets a log service sink.
 func (r *ProjectsLogServicesSinksService) Get(projectsId string, logServicesId string, sinksId string) *ProjectsLogServicesSinksGetCall {
-	c := &ProjectsLogServicesSinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksGetCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1705,13 +1742,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesSinksGetCall) IfNoneMatch(entityTag string) *ProjectsLogServicesSinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksGetCall) Context(ctx context.Context) *ProjectsLogServicesSinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1719,9 +1756,13 @@
 
 func (c *ProjectsLogServicesSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -1729,8 +1770,8 @@
 		"sinksId":       c.sinksId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1822,24 +1863,23 @@
 	s             *Service
 	projectsId    string
 	logServicesId string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // List: Lists log service sinks associated with a log service.
 func (r *ProjectsLogServicesSinksService) List(projectsId string, logServicesId string) *ProjectsLogServicesSinksListCall {
-	c := &ProjectsLogServicesSinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksListCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1849,13 +1889,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogServicesSinksListCall) IfNoneMatch(entityTag string) *ProjectsLogServicesSinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksListCall) Context(ctx context.Context) *ProjectsLogServicesSinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -1863,17 +1903,21 @@
 
 func (c *ProjectsLogServicesSinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
 		"logServicesId": c.logServicesId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1960,14 +2004,14 @@
 	logServicesId string
 	sinksId       string
 	logsink       *LogSink
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Updates a log service sink. If the sink does not exist, it is
 // created.
 func (r *ProjectsLogServicesSinksService) Update(projectsId string, logServicesId string, sinksId string, logsink *LogSink) *ProjectsLogServicesSinksUpdateCall {
-	c := &ProjectsLogServicesSinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogServicesSinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logServicesId = logServicesId
 	c.sinksId = sinksId
@@ -1975,17 +2019,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogServicesSinksUpdateCall) Fields(s ...googleapi.Field) *ProjectsLogServicesSinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogServicesSinksUpdateCall) Context(ctx context.Context) *ProjectsLogServicesSinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1998,9 +2042,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId":    c.projectsId,
@@ -2100,30 +2148,30 @@
 	s          *Service
 	projectsId string
 	logsId     string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a log and all its log entries. The log will reappear
 // if it receives new entries.
 func (r *ProjectsLogsService) Delete(projectsId string, logsId string) *ProjectsLogsDeleteCall {
-	c := &ProjectsLogsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLogsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsDeleteCall) Context(ctx context.Context) *ProjectsLogsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2131,9 +2179,13 @@
 
 func (c *ProjectsLogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2218,17 +2270,16 @@
 // method id "logging.projects.logs.list":
 
 type ProjectsLogsListCall struct {
-	s            *Service
-	projectsId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists the logs in the project. Only logs that have entries are
 // listed.
 func (r *ProjectsLogsService) List(projectsId string) *ProjectsLogsListCall {
-	c := &ProjectsLogsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	return c
 }
@@ -2236,7 +2287,7 @@
 // PageSize sets the optional parameter "pageSize": The maximum number
 // of results to return.
 func (c *ProjectsLogsListCall) PageSize(pageSize int64) *ProjectsLogsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -2245,7 +2296,7 @@
 // `pageToken` is supplied, then the other fields of this request are
 // ignored, and instead the previous `ListLogs` operation is continued.
 func (c *ProjectsLogsListCall) PageToken(pageToken string) *ProjectsLogsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2259,7 +2310,7 @@
 // index, etc. An empty value (a single slash) for an index matches all
 // values, and you can omit values for later indexes entirely.
 func (c *ProjectsLogsListCall) ServiceIndexPrefix(serviceIndexPrefix string) *ProjectsLogsListCall {
-	c.urlParams_.Set("serviceIndexPrefix", serviceIndexPrefix)
+	c.opt_["serviceIndexPrefix"] = serviceIndexPrefix
 	return c
 }
 
@@ -2268,15 +2319,15 @@
 // "compute.googleapis.com". Only logs associated with that that log
 // service are listed.
 func (c *ProjectsLogsListCall) ServiceName(serviceName string) *ProjectsLogsListCall {
-	c.urlParams_.Set("serviceName", serviceName)
+	c.opt_["serviceName"] = serviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsListCall) Fields(s ...googleapi.Field) *ProjectsLogsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2286,13 +2337,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogsListCall) IfNoneMatch(entityTag string) *ProjectsLogsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsListCall) Context(ctx context.Context) *ProjectsLogsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2300,16 +2351,32 @@
 
 func (c *ProjectsLogsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serviceIndexPrefix"]; ok {
+		params.Set("serviceIndexPrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serviceName"]; ok {
+		params.Set("serviceName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2409,7 +2476,7 @@
 	projectsId             string
 	logsId                 string
 	writelogentriesrequest *WriteLogEntriesRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -2420,24 +2487,24 @@
 // `entries[].metadata.labels` map in each entry, saving you the trouble
 // of creating identical copies for each entry.
 func (r *ProjectsLogsEntriesService) Write(projectsId string, logsId string, writelogentriesrequest *WriteLogEntriesRequest) *ProjectsLogsEntriesWriteCall {
-	c := &ProjectsLogsEntriesWriteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsEntriesWriteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.writelogentriesrequest = writelogentriesrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsEntriesWriteCall) Fields(s ...googleapi.Field) *ProjectsLogsEntriesWriteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsEntriesWriteCall) Context(ctx context.Context) *ProjectsLogsEntriesWriteCall {
 	c.ctx_ = ctx
 	return c
@@ -2450,9 +2517,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/entries:write")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2546,31 +2617,31 @@
 	projectsId string
 	logsId     string
 	logsink    *LogSink
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Create: Creates a log sink. All log entries for a specified log are
 // written to the destination.
 func (r *ProjectsLogsSinksService) Create(projectsId string, logsId string, logsink *LogSink) *ProjectsLogsSinksCreateCall {
-	c := &ProjectsLogsSinksCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.logsink = logsink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksCreateCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksCreateCall) Context(ctx context.Context) *ProjectsLogsSinksCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2583,9 +2654,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2678,31 +2753,31 @@
 	projectsId string
 	logsId     string
 	sinksId    string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a log sink. After deletion, no new log entries are
 // written to the destination.
 func (r *ProjectsLogsSinksService) Delete(projectsId string, logsId string, sinksId string) *ProjectsLogsSinksDeleteCall {
-	c := &ProjectsLogsSinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksDeleteCall) Context(ctx context.Context) *ProjectsLogsSinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2710,9 +2785,13 @@
 
 func (c *ProjectsLogsSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2805,29 +2884,28 @@
 // method id "logging.projects.logs.sinks.get":
 
 type ProjectsLogsSinksGetCall struct {
-	s            *Service
-	projectsId   string
-	logsId       string
-	sinksId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	logsId     string
+	sinksId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets a log sink.
 func (r *ProjectsLogsSinksService) Get(projectsId string, logsId string, sinksId string) *ProjectsLogsSinksGetCall {
-	c := &ProjectsLogsSinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksGetCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2837,13 +2915,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogsSinksGetCall) IfNoneMatch(entityTag string) *ProjectsLogsSinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksGetCall) Context(ctx context.Context) *ProjectsLogsSinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2851,9 +2929,13 @@
 
 func (c *ProjectsLogsSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -2861,8 +2943,8 @@
 		"sinksId":    c.sinksId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2951,27 +3033,26 @@
 // method id "logging.projects.logs.sinks.list":
 
 type ProjectsLogsSinksListCall struct {
-	s            *Service
-	projectsId   string
-	logsId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	logsId     string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists log sinks associated with a log.
 func (r *ProjectsLogsSinksService) List(projectsId string, logsId string) *ProjectsLogsSinksListCall {
-	c := &ProjectsLogsSinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksListCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2981,13 +3062,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsLogsSinksListCall) IfNoneMatch(entityTag string) *ProjectsLogsSinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksListCall) Context(ctx context.Context) *ProjectsLogsSinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -2995,17 +3076,21 @@
 
 func (c *ProjectsLogsSinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 		"logsId":     c.logsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3092,14 +3177,14 @@
 	logsId     string
 	sinksId    string
 	logsink    *LogSink
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates a log sink. If the sink does not exist, it is
 // created.
 func (r *ProjectsLogsSinksService) Update(projectsId string, logsId string, sinksId string, logsink *LogSink) *ProjectsLogsSinksUpdateCall {
-	c := &ProjectsLogsSinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsLogsSinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsId = logsId
 	c.sinksId = sinksId
@@ -3107,17 +3192,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsLogsSinksUpdateCall) Fields(s ...googleapi.Field) *ProjectsLogsSinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsLogsSinksUpdateCall) Context(ctx context.Context) *ProjectsLogsSinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3130,9 +3215,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -3232,30 +3321,30 @@
 	s          *Service
 	projectsId string
 	logsink    *LogSink
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Create: Creates a project sink. A logs filter determines which log
 // entries are written to the destination.
 func (r *ProjectsSinksService) Create(projectsId string, logsink *LogSink) *ProjectsSinksCreateCall {
-	c := &ProjectsSinksCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSinksCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.logsink = logsink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSinksCreateCall) Fields(s ...googleapi.Field) *ProjectsSinksCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSinksCreateCall) Context(ctx context.Context) *ProjectsSinksCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3268,9 +3357,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -3354,30 +3447,30 @@
 	s          *Service
 	projectsId string
 	sinksId    string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes a project sink. After deletion, no new log entries
 // are written to the destination.
 func (r *ProjectsSinksService) Delete(projectsId string, sinksId string) *ProjectsSinksDeleteCall {
-	c := &ProjectsSinksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSinksDeleteCall) Fields(s ...googleapi.Field) *ProjectsSinksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSinksDeleteCall) Context(ctx context.Context) *ProjectsSinksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3385,9 +3478,13 @@
 
 func (c *ProjectsSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
@@ -3472,27 +3569,26 @@
 // method id "logging.projects.sinks.get":
 
 type ProjectsSinksGetCall struct {
-	s            *Service
-	projectsId   string
-	sinksId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	sinksId    string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets a project sink.
 func (r *ProjectsSinksService) Get(projectsId string, sinksId string) *ProjectsSinksGetCall {
-	c := &ProjectsSinksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSinksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.sinksId = sinksId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSinksGetCall) Fields(s ...googleapi.Field) *ProjectsSinksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3502,13 +3598,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSinksGetCall) IfNoneMatch(entityTag string) *ProjectsSinksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSinksGetCall) Context(ctx context.Context) *ProjectsSinksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3516,17 +3612,21 @@
 
 func (c *ProjectsSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 		"sinksId":    c.sinksId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3608,25 +3708,24 @@
 // method id "logging.projects.sinks.list":
 
 type ProjectsSinksListCall struct {
-	s            *Service
-	projectsId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	projectsId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Lists project sinks associated with a project.
 func (r *ProjectsSinksService) List(projectsId string) *ProjectsSinksListCall {
-	c := &ProjectsSinksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSinksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSinksListCall) Fields(s ...googleapi.Field) *ProjectsSinksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3636,13 +3735,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSinksListCall) IfNoneMatch(entityTag string) *ProjectsSinksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSinksListCall) Context(ctx context.Context) *ProjectsSinksListCall {
 	c.ctx_ = ctx
 	return c
@@ -3650,16 +3749,20 @@
 
 func (c *ProjectsSinksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/sinks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3738,31 +3841,31 @@
 	projectsId string
 	sinksId    string
 	logsink    *LogSink
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates a project sink. If the sink does not exist, it is
 // created. The destination, filter, or both may be updated.
 func (r *ProjectsSinksService) Update(projectsId string, sinksId string, logsink *LogSink) *ProjectsSinksUpdateCall {
-	c := &ProjectsSinksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectsId = projectsId
 	c.sinksId = sinksId
 	c.logsink = logsink
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSinksUpdateCall) Fields(s ...googleapi.Field) *ProjectsSinksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSinksUpdateCall) Context(ctx context.Context) *ProjectsSinksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3775,9 +3878,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta3/projects/{projectsId}/sinks/{sinksId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectsId": c.projectsId,
diff --git a/manager/v1beta2/manager-gen.go b/manager/v1beta2/manager-gen.go
index 9818c38..3ff2c49 100644
--- a/manager/v1beta2/manager-gen.go
+++ b/manager/v1beta2/manager-gen.go
@@ -1158,30 +1158,30 @@
 	projectId      string
 	region         string
 	deploymentName string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete:
 func (r *DeploymentsService) Delete(projectId string, region string, deploymentName string) *DeploymentsDeleteCall {
-	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.region = region
 	c.deploymentName = deploymentName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1189,9 +1189,13 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/regions/{region}/deployments/{deploymentName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId":      c.projectId,
@@ -1258,25 +1262,24 @@
 	projectId      string
 	region         string
 	deploymentName string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get:
 func (r *DeploymentsService) Get(projectId string, region string, deploymentName string) *DeploymentsGetCall {
-	c := &DeploymentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.region = region
 	c.deploymentName = deploymentName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1286,13 +1289,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1300,9 +1303,13 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/regions/{region}/deployments/{deploymentName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId":      c.projectId,
@@ -1310,8 +1317,8 @@
 		"deploymentName": c.deploymentName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1401,30 +1408,30 @@
 	projectId  string
 	region     string
 	deployment *Deployment
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert:
 func (r *DeploymentsService) Insert(projectId string, region string, deployment *Deployment) *DeploymentsInsertCall {
-	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.region = region
 	c.deployment = deployment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1437,9 +1444,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/regions/{region}/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -1529,17 +1540,16 @@
 // method id "manager.deployments.list":
 
 type DeploymentsListCall struct {
-	s            *Service
-	projectId    string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	region    string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List:
 func (r *DeploymentsService) List(projectId string, region string) *DeploymentsListCall {
-	c := &DeploymentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DeploymentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.region = region
 	return c
@@ -1549,7 +1559,7 @@
 // results to be returned. Acceptable values are 0 to 100, inclusive.
 // (Default: 50)
 func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1558,15 +1568,15 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1576,13 +1586,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1590,17 +1600,27 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/regions/{region}/deployments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"region":    c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1697,29 +1717,29 @@
 	s            *Service
 	projectId    string
 	templateName string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete:
 func (r *TemplatesService) Delete(projectId string, templateName string) *TemplatesDeleteCall {
-	c := &TemplatesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplatesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.templateName = templateName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplatesDeleteCall) Fields(s ...googleapi.Field) *TemplatesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplatesDeleteCall) Context(ctx context.Context) *TemplatesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1727,9 +1747,13 @@
 
 func (c *TemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/templates/{templateName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId":    c.projectId,
@@ -1788,24 +1812,23 @@
 	s            *Service
 	projectId    string
 	templateName string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get:
 func (r *TemplatesService) Get(projectId string, templateName string) *TemplatesGetCall {
-	c := &TemplatesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplatesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.templateName = templateName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplatesGetCall) Fields(s ...googleapi.Field) *TemplatesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1815,13 +1838,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TemplatesGetCall) IfNoneMatch(entityTag string) *TemplatesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplatesGetCall) Context(ctx context.Context) *TemplatesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1829,17 +1852,21 @@
 
 func (c *TemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/templates/{templateName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId":    c.projectId,
 		"templateName": c.templateName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1919,32 +1946,32 @@
 // method id "manager.templates.insert":
 
 type TemplatesInsertCall struct {
-	s          *Service
-	projectId  string
-	template   *Template
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectId string
+	template  *Template
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert:
 func (r *TemplatesService) Insert(projectId string, template *Template) *TemplatesInsertCall {
-	c := &TemplatesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplatesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.template = template
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplatesInsertCall) Fields(s ...googleapi.Field) *TemplatesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplatesInsertCall) Context(ctx context.Context) *TemplatesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1957,9 +1984,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/templates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
@@ -2039,16 +2070,15 @@
 // method id "manager.templates.list":
 
 type TemplatesListCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List:
 func (r *TemplatesService) List(projectId string) *TemplatesListCall {
-	c := &TemplatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TemplatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
@@ -2057,7 +2087,7 @@
 // results to be returned. Acceptable values are 0 to 100, inclusive.
 // (Default: 50)
 func (c *TemplatesListCall) MaxResults(maxResults int64) *TemplatesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2066,15 +2096,15 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *TemplatesListCall) PageToken(pageToken string) *TemplatesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TemplatesListCall) Fields(s ...googleapi.Field) *TemplatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2084,13 +2114,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TemplatesListCall) IfNoneMatch(entityTag string) *TemplatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TemplatesListCall) Context(ctx context.Context) *TemplatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2098,16 +2128,26 @@
 
 func (c *TemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/templates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/mapsengine/exp2/mapsengine-gen.go b/mapsengine/exp2/mapsengine-gen.go
index f0fe53a..a732e69 100644
--- a/mapsengine/exp2/mapsengine-gen.go
+++ b/mapsengine/exp2/mapsengine-gen.go
@@ -2989,25 +2989,24 @@
 // method id "mapsengine.assets.get":
 
 type AssetsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular asset.
 func (r *AssetsService) Get(id string) *AssetsGetCall {
-	c := &AssetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsGetCall) Fields(s ...googleapi.Field) *AssetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3017,13 +3016,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsGetCall) IfNoneMatch(entityTag string) *AssetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsGetCall) Context(ctx context.Context) *AssetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3031,16 +3030,20 @@
 
 func (c *AssetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3113,15 +3116,14 @@
 // method id "mapsengine.assets.list":
 
 type AssetsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all assets readable by the current user.
 func (r *AssetsService) List() *AssetsListCall {
-	c := &AssetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -3129,7 +3131,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *AssetsListCall) Bbox(bbox string) *AssetsListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -3137,7 +3139,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *AssetsListCall) CreatedAfter(createdAfter string) *AssetsListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -3145,7 +3147,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *AssetsListCall) CreatedBefore(createdBefore string) *AssetsListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -3153,7 +3155,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *AssetsListCall) CreatorEmail(creatorEmail string) *AssetsListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -3161,7 +3163,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *AssetsListCall) MaxResults(maxResults int64) *AssetsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3169,7 +3171,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *AssetsListCall) ModifiedAfter(modifiedAfter string) *AssetsListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -3177,7 +3179,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *AssetsListCall) ModifiedBefore(modifiedBefore string) *AssetsListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -3186,7 +3188,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *AssetsListCall) PageToken(pageToken string) *AssetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3196,7 +3198,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *AssetsListCall) ProjectId(projectId string) *AssetsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -3209,21 +3211,21 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *AssetsListCall) Role(role string) *AssetsListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *AssetsListCall) Search(search string) *AssetsListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *AssetsListCall) Tags(tags string) *AssetsListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
@@ -3232,15 +3234,15 @@
 // provided list. Supported values are 'map', 'layer',
 // 'rasterCollection' and 'table'.
 func (c *AssetsListCall) Type(type_ string) *AssetsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsListCall) Fields(s ...googleapi.Field) *AssetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3250,13 +3252,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsListCall) IfNoneMatch(entityTag string) *AssetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsListCall) Context(ctx context.Context) *AssetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3264,14 +3266,57 @@
 
 func (c *AssetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3415,16 +3460,15 @@
 // method id "mapsengine.assets.parents.list":
 
 type AssetsParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified asset.
 func (r *AssetsParentsService) List(id string) *AssetsParentsListCall {
-	c := &AssetsParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -3433,7 +3477,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *AssetsParentsListCall) MaxResults(maxResults int64) *AssetsParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3442,15 +3486,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *AssetsParentsListCall) PageToken(pageToken string) *AssetsParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsParentsListCall) Fields(s ...googleapi.Field) *AssetsParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3460,13 +3504,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsParentsListCall) IfNoneMatch(entityTag string) *AssetsParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsParentsListCall) Context(ctx context.Context) *AssetsParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3474,16 +3518,26 @@
 
 func (c *AssetsParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3567,25 +3621,24 @@
 // method id "mapsengine.assets.permissions.list":
 
 type AssetsPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *AssetsPermissionsService) List(id string) *AssetsPermissionsListCall {
-	c := &AssetsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsPermissionsListCall) Fields(s ...googleapi.Field) *AssetsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3595,13 +3648,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsPermissionsListCall) IfNoneMatch(entityTag string) *AssetsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsPermissionsListCall) Context(ctx context.Context) *AssetsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3609,16 +3662,20 @@
 
 func (c *AssetsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3691,30 +3748,30 @@
 // method id "mapsengine.layers.cancelProcessing":
 
 type LayersCancelProcessingCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // CancelProcessing: Cancel processing on a layer asset.
 func (r *LayersService) CancelProcessing(id string) *LayersCancelProcessingCall {
-	c := &LayersCancelProcessingCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersCancelProcessingCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersCancelProcessingCall) Fields(s ...googleapi.Field) *LayersCancelProcessingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersCancelProcessingCall) Context(ctx context.Context) *LayersCancelProcessingCall {
 	c.ctx_ = ctx
 	return c
@@ -3722,9 +3779,13 @@
 
 func (c *LayersCancelProcessingCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/cancelProcessing")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -3800,15 +3861,15 @@
 // method id "mapsengine.layers.create":
 
 type LayersCreateCall struct {
-	s          *Service
-	layer      *Layer
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	layer *Layer
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Create a layer asset.
 func (r *LayersService) Create(layer *Layer) *LayersCreateCall {
-	c := &LayersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.layer = layer
 	return c
 }
@@ -3816,21 +3877,21 @@
 // Process sets the optional parameter "process": Whether to queue the
 // created layer for processing.
 func (c *LayersCreateCall) Process(process bool) *LayersCreateCall {
-	c.urlParams_.Set("process", fmt.Sprintf("%v", process))
+	c.opt_["process"] = process
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersCreateCall) Fields(s ...googleapi.Field) *LayersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersCreateCall) Context(ctx context.Context) *LayersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3843,9 +3904,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["process"]; ok {
+		params.Set("process", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3919,30 +3987,30 @@
 // method id "mapsengine.layers.delete":
 
 type LayersDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a layer.
 func (r *LayersService) Delete(id string) *LayersDeleteCall {
-	c := &LayersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersDeleteCall) Fields(s ...googleapi.Field) *LayersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersDeleteCall) Context(ctx context.Context) *LayersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3950,9 +4018,13 @@
 
 func (c *LayersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -4001,16 +4073,15 @@
 // method id "mapsengine.layers.get":
 
 type LayersGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular layer.
 func (r *LayersService) Get(id string) *LayersGetCall {
-	c := &LayersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -4025,15 +4096,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *LayersGetCall) Version(version string) *LayersGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersGetCall) Fields(s ...googleapi.Field) *LayersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4043,13 +4114,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersGetCall) IfNoneMatch(entityTag string) *LayersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersGetCall) Context(ctx context.Context) *LayersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4057,16 +4128,23 @@
 
 func (c *LayersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4152,25 +4230,24 @@
 // method id "mapsengine.layers.getPublished":
 
 type LayersGetPublishedCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetPublished: Return the published metadata for a particular layer.
 func (r *LayersService) GetPublished(id string) *LayersGetPublishedCall {
-	c := &LayersGetPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersGetPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersGetPublishedCall) Fields(s ...googleapi.Field) *LayersGetPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4180,13 +4257,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersGetPublishedCall) IfNoneMatch(entityTag string) *LayersGetPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersGetPublishedCall) Context(ctx context.Context) *LayersGetPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -4194,16 +4271,20 @@
 
 func (c *LayersGetPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4276,15 +4357,14 @@
 // method id "mapsengine.layers.list":
 
 type LayersListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all layers readable by the current user.
 func (r *LayersService) List() *LayersListCall {
-	c := &LayersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -4292,7 +4372,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *LayersListCall) Bbox(bbox string) *LayersListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -4300,7 +4380,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *LayersListCall) CreatedAfter(createdAfter string) *LayersListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -4308,7 +4388,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *LayersListCall) CreatedBefore(createdBefore string) *LayersListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -4316,7 +4396,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *LayersListCall) CreatorEmail(creatorEmail string) *LayersListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -4324,7 +4404,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *LayersListCall) MaxResults(maxResults int64) *LayersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4332,7 +4412,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *LayersListCall) ModifiedAfter(modifiedAfter string) *LayersListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -4340,7 +4420,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *LayersListCall) ModifiedBefore(modifiedBefore string) *LayersListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -4349,7 +4429,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *LayersListCall) PageToken(pageToken string) *LayersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4362,7 +4442,7 @@
 //   "processing" - The layer is processing.
 //   "ready" - The layer is ready for processing.
 func (c *LayersListCall) ProcessingStatus(processingStatus string) *LayersListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -4372,7 +4452,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *LayersListCall) ProjectId(projectId string) *LayersListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -4385,29 +4465,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *LayersListCall) Role(role string) *LayersListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *LayersListCall) Search(search string) *LayersListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *LayersListCall) Tags(tags string) *LayersListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersListCall) Fields(s ...googleapi.Field) *LayersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4417,13 +4497,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersListCall) IfNoneMatch(entityTag string) *LayersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersListCall) Context(ctx context.Context) *LayersListCall {
 	c.ctx_ = ctx
 	return c
@@ -4431,14 +4511,57 @@
 
 func (c *LayersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4595,16 +4718,15 @@
 // method id "mapsengine.layers.listPublished":
 
 type LayersListPublishedCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListPublished: Return all published layers readable by the current
 // user.
 func (r *LayersService) ListPublished() *LayersListPublishedCall {
-	c := &LayersListPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersListPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -4612,7 +4734,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *LayersListPublishedCall) MaxResults(maxResults int64) *LayersListPublishedCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4621,7 +4743,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *LayersListPublishedCall) PageToken(pageToken string) *LayersListPublishedCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4631,22 +4753,22 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *LayersListPublishedCall) ProjectId(projectId string) *LayersListPublishedCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *LayersListPublishedCall) Search(search string) *LayersListPublishedCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersListPublishedCall) Fields(s ...googleapi.Field) *LayersListPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4656,13 +4778,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersListPublishedCall) IfNoneMatch(entityTag string) *LayersListPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersListPublishedCall) Context(ctx context.Context) *LayersListPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -4670,14 +4792,30 @@
 
 func (c *LayersListPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4762,32 +4900,32 @@
 // method id "mapsengine.layers.patch":
 
 type LayersPatchCall struct {
-	s          *Service
-	id         string
-	layer      *Layer
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	id    string
+	layer *Layer
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Patch: Mutate a layer asset.
 func (r *LayersService) Patch(id string, layer *Layer) *LayersPatchCall {
-	c := &LayersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.layer = layer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPatchCall) Fields(s ...googleapi.Field) *LayersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPatchCall) Context(ctx context.Context) *LayersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4800,9 +4938,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -4855,30 +4997,30 @@
 // method id "mapsengine.layers.process":
 
 type LayersProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a layer asset.
 func (r *LayersService) Process(id string) *LayersProcessCall {
-	c := &LayersProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersProcessCall) Fields(s ...googleapi.Field) *LayersProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersProcessCall) Context(ctx context.Context) *LayersProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -4886,9 +5028,13 @@
 
 func (c *LayersProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -4964,15 +5110,15 @@
 // method id "mapsengine.layers.publish":
 
 type LayersPublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Publish: Publish a layer asset.
 func (r *LayersService) Publish(id string) *LayersPublishCall {
-	c := &LayersPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -4982,21 +5128,21 @@
 // true, you'll need to reprocess any out-of-date layer before
 // publishing.
 func (c *LayersPublishCall) Force(force bool) *LayersPublishCall {
-	c.urlParams_.Set("force", fmt.Sprintf("%v", force))
+	c.opt_["force"] = force
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPublishCall) Fields(s ...googleapi.Field) *LayersPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPublishCall) Context(ctx context.Context) *LayersPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -5004,9 +5150,16 @@
 
 func (c *LayersPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["force"]; ok {
+		params.Set("force", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5087,30 +5240,30 @@
 // method id "mapsengine.layers.unpublish":
 
 type LayersUnpublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Unpublish: Unpublish a layer asset.
 func (r *LayersService) Unpublish(id string) *LayersUnpublishCall {
-	c := &LayersUnpublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersUnpublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersUnpublishCall) Fields(s ...googleapi.Field) *LayersUnpublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersUnpublishCall) Context(ctx context.Context) *LayersUnpublishCall {
 	c.ctx_ = ctx
 	return c
@@ -5118,9 +5271,13 @@
 
 func (c *LayersUnpublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/unpublish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5196,16 +5353,15 @@
 // method id "mapsengine.layers.parents.list":
 
 type LayersParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified layer.
 func (r *LayersParentsService) List(id string) *LayersParentsListCall {
-	c := &LayersParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -5214,7 +5370,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *LayersParentsListCall) MaxResults(maxResults int64) *LayersParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5223,15 +5379,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *LayersParentsListCall) PageToken(pageToken string) *LayersParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersParentsListCall) Fields(s ...googleapi.Field) *LayersParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5241,13 +5397,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersParentsListCall) IfNoneMatch(entityTag string) *LayersParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersParentsListCall) Context(ctx context.Context) *LayersParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5255,16 +5411,26 @@
 
 func (c *LayersParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5351,30 +5517,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *LayersPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *LayersPermissionsBatchDeleteCall {
-	c := &LayersPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *LayersPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPermissionsBatchDeleteCall) Context(ctx context.Context) *LayersPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5387,9 +5553,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5472,7 +5642,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -5482,23 +5652,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *LayersPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *LayersPermissionsBatchUpdateCall {
-	c := &LayersPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *LayersPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPermissionsBatchUpdateCall) Context(ctx context.Context) *LayersPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5511,9 +5681,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5593,25 +5767,24 @@
 // method id "mapsengine.layers.permissions.list":
 
 type LayersPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *LayersPermissionsService) List(id string) *LayersPermissionsListCall {
-	c := &LayersPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPermissionsListCall) Fields(s ...googleapi.Field) *LayersPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5621,13 +5794,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersPermissionsListCall) IfNoneMatch(entityTag string) *LayersPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPermissionsListCall) Context(ctx context.Context) *LayersPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5635,16 +5808,20 @@
 
 func (c *LayersPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5717,30 +5894,30 @@
 // method id "mapsengine.maps.create":
 
 type MapsCreateCall struct {
-	s          *Service
-	map_       *Map
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	map_ *Map
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Create: Create a map asset.
 func (r *MapsService) Create(map_ *Map) *MapsCreateCall {
-	c := &MapsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.map_ = map_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsCreateCall) Fields(s ...googleapi.Field) *MapsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsCreateCall) Context(ctx context.Context) *MapsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -5753,9 +5930,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5822,30 +6003,30 @@
 // method id "mapsengine.maps.delete":
 
 type MapsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a map.
 func (r *MapsService) Delete(id string) *MapsDeleteCall {
-	c := &MapsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsDeleteCall) Fields(s ...googleapi.Field) *MapsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsDeleteCall) Context(ctx context.Context) *MapsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5853,9 +6034,13 @@
 
 func (c *MapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5904,16 +6089,15 @@
 // method id "mapsengine.maps.get":
 
 type MapsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular map.
 func (r *MapsService) Get(id string) *MapsGetCall {
-	c := &MapsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -5928,15 +6112,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *MapsGetCall) Version(version string) *MapsGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsGetCall) Fields(s ...googleapi.Field) *MapsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5946,13 +6130,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsGetCall) IfNoneMatch(entityTag string) *MapsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsGetCall) Context(ctx context.Context) *MapsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5960,16 +6144,23 @@
 
 func (c *MapsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6055,25 +6246,24 @@
 // method id "mapsengine.maps.getPublished":
 
 type MapsGetPublishedCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetPublished: Return the published metadata for a particular map.
 func (r *MapsService) GetPublished(id string) *MapsGetPublishedCall {
-	c := &MapsGetPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsGetPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsGetPublishedCall) Fields(s ...googleapi.Field) *MapsGetPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6083,13 +6273,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsGetPublishedCall) IfNoneMatch(entityTag string) *MapsGetPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsGetPublishedCall) Context(ctx context.Context) *MapsGetPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -6097,16 +6287,20 @@
 
 func (c *MapsGetPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6179,15 +6373,14 @@
 // method id "mapsengine.maps.list":
 
 type MapsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all maps readable by the current user.
 func (r *MapsService) List() *MapsListCall {
-	c := &MapsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6195,7 +6388,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *MapsListCall) Bbox(bbox string) *MapsListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -6203,7 +6396,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *MapsListCall) CreatedAfter(createdAfter string) *MapsListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -6211,7 +6404,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *MapsListCall) CreatedBefore(createdBefore string) *MapsListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -6219,7 +6412,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *MapsListCall) CreatorEmail(creatorEmail string) *MapsListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -6227,7 +6420,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *MapsListCall) MaxResults(maxResults int64) *MapsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6235,7 +6428,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *MapsListCall) ModifiedAfter(modifiedAfter string) *MapsListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -6243,7 +6436,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *MapsListCall) ModifiedBefore(modifiedBefore string) *MapsListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -6252,7 +6445,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *MapsListCall) PageToken(pageToken string) *MapsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6264,7 +6457,7 @@
 //   "notReady" - The map is not ready for processing.
 //   "processing" - The map is processing.
 func (c *MapsListCall) ProcessingStatus(processingStatus string) *MapsListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -6274,7 +6467,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *MapsListCall) ProjectId(projectId string) *MapsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -6287,21 +6480,21 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *MapsListCall) Role(role string) *MapsListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *MapsListCall) Search(search string) *MapsListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *MapsListCall) Tags(tags string) *MapsListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
@@ -6315,15 +6508,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *MapsListCall) Version(version string) *MapsListCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsListCall) Fields(s ...googleapi.Field) *MapsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6333,13 +6526,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsListCall) IfNoneMatch(entityTag string) *MapsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsListCall) Context(ctx context.Context) *MapsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6347,14 +6540,60 @@
 
 func (c *MapsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6522,16 +6761,15 @@
 // method id "mapsengine.maps.listPublished":
 
 type MapsListPublishedCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListPublished: Return all published maps readable by the current
 // user.
 func (r *MapsService) ListPublished() *MapsListPublishedCall {
-	c := &MapsListPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsListPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6539,7 +6777,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *MapsListPublishedCall) MaxResults(maxResults int64) *MapsListPublishedCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6548,7 +6786,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *MapsListPublishedCall) PageToken(pageToken string) *MapsListPublishedCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6558,22 +6796,22 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *MapsListPublishedCall) ProjectId(projectId string) *MapsListPublishedCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *MapsListPublishedCall) Search(search string) *MapsListPublishedCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsListPublishedCall) Fields(s ...googleapi.Field) *MapsListPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6583,13 +6821,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsListPublishedCall) IfNoneMatch(entityTag string) *MapsListPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsListPublishedCall) Context(ctx context.Context) *MapsListPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -6597,14 +6835,30 @@
 
 func (c *MapsListPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6689,32 +6943,32 @@
 // method id "mapsengine.maps.patch":
 
 type MapsPatchCall struct {
-	s          *Service
-	id         string
-	map_       *Map
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	map_ *Map
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Patch: Mutate a map asset.
 func (r *MapsService) Patch(id string, map_ *Map) *MapsPatchCall {
-	c := &MapsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.map_ = map_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPatchCall) Fields(s ...googleapi.Field) *MapsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPatchCall) Context(ctx context.Context) *MapsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6727,9 +6981,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -6782,15 +7040,15 @@
 // method id "mapsengine.maps.publish":
 
 type MapsPublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Publish: Publish a map asset.
 func (r *MapsService) Publish(id string) *MapsPublishCall {
-	c := &MapsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -6799,21 +7057,21 @@
 // will allow publication of the map even if it's out of date. If false,
 // the map must have a processingStatus of complete before publishing.
 func (c *MapsPublishCall) Force(force bool) *MapsPublishCall {
-	c.urlParams_.Set("force", fmt.Sprintf("%v", force))
+	c.opt_["force"] = force
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPublishCall) Fields(s ...googleapi.Field) *MapsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPublishCall) Context(ctx context.Context) *MapsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -6821,9 +7079,16 @@
 
 func (c *MapsPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["force"]; ok {
+		params.Set("force", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -6904,30 +7169,30 @@
 // method id "mapsengine.maps.unpublish":
 
 type MapsUnpublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Unpublish: Unpublish a map asset.
 func (r *MapsService) Unpublish(id string) *MapsUnpublishCall {
-	c := &MapsUnpublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsUnpublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsUnpublishCall) Fields(s ...googleapi.Field) *MapsUnpublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsUnpublishCall) Context(ctx context.Context) *MapsUnpublishCall {
 	c.ctx_ = ctx
 	return c
@@ -6935,9 +7200,13 @@
 
 func (c *MapsUnpublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/unpublish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -7016,30 +7285,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *MapsPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *MapsPermissionsBatchDeleteCall {
-	c := &MapsPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *MapsPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPermissionsBatchDeleteCall) Context(ctx context.Context) *MapsPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7052,9 +7321,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -7137,7 +7410,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -7147,23 +7420,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *MapsPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *MapsPermissionsBatchUpdateCall {
-	c := &MapsPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *MapsPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPermissionsBatchUpdateCall) Context(ctx context.Context) *MapsPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7176,9 +7449,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -7258,25 +7535,24 @@
 // method id "mapsengine.maps.permissions.list":
 
 type MapsPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *MapsPermissionsService) List(id string) *MapsPermissionsListCall {
-	c := &MapsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPermissionsListCall) Fields(s ...googleapi.Field) *MapsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7286,13 +7562,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsPermissionsListCall) IfNoneMatch(entityTag string) *MapsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPermissionsListCall) Context(ctx context.Context) *MapsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7300,16 +7576,20 @@
 
 func (c *MapsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7382,23 +7662,22 @@
 // method id "mapsengine.projects.list":
 
 type ProjectsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all projects readable by the current user.
 func (r *ProjectsService) List() *ProjectsListCall {
-	c := &ProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7408,13 +7687,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7422,14 +7701,18 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7491,40 +7774,39 @@
 // method id "mapsengine.projects.icons.create":
 
 type ProjectsIconsCreateCall struct {
-	s                *Service
-	projectId        string
-	icon             *Icon
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	projectId  string
+	icon       *Icon
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Create: Create an icon.
 func (r *ProjectsIconsService) Create(projectId string, icon *Icon) *ProjectsIconsCreateCall {
-	c := &ProjectsIconsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsIconsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.icon = icon
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ProjectsIconsCreateCall) Media(r io.Reader) *ProjectsIconsCreateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ProjectsIconsCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ProjectsIconsCreateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -7533,28 +7815,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ProjectsIconsCreateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ProjectsIconsCreateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsIconsCreateCall) Fields(s ...googleapi.Field) *ProjectsIconsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ProjectsIconsCreateCall) Context(ctx context.Context) *ProjectsIconsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -7567,13 +7848,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/icons")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -7626,6 +7911,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -7635,7 +7926,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -7702,27 +7993,26 @@
 // method id "mapsengine.projects.icons.get":
 
 type ProjectsIconsGetCall struct {
-	s            *Service
-	projectId    string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	id        string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Return an icon or its associated metadata
 func (r *ProjectsIconsService) Get(projectId string, id string) *ProjectsIconsGetCall {
-	c := &ProjectsIconsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsIconsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsIconsGetCall) Fields(s ...googleapi.Field) *ProjectsIconsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7732,13 +8022,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsIconsGetCall) IfNoneMatch(entityTag string) *ProjectsIconsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsIconsGetCall) Context(ctx context.Context) *ProjectsIconsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7746,17 +8036,21 @@
 
 func (c *ProjectsIconsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/icons/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"id":        c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7852,16 +8146,15 @@
 // method id "mapsengine.projects.icons.list":
 
 type ProjectsIconsListCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Return all icons in the current project
 func (r *ProjectsIconsService) List(projectId string) *ProjectsIconsListCall {
-	c := &ProjectsIconsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsIconsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
@@ -7870,7 +8163,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *ProjectsIconsListCall) MaxResults(maxResults int64) *ProjectsIconsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7879,15 +8172,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *ProjectsIconsListCall) PageToken(pageToken string) *ProjectsIconsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsIconsListCall) Fields(s ...googleapi.Field) *ProjectsIconsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7897,13 +8190,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsIconsListCall) IfNoneMatch(entityTag string) *ProjectsIconsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsIconsListCall) Context(ctx context.Context) *ProjectsIconsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7911,16 +8204,26 @@
 
 func (c *ProjectsIconsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/icons")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8004,30 +8307,30 @@
 // method id "mapsengine.rasterCollections.cancelProcessing":
 
 type RasterCollectionsCancelProcessingCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // CancelProcessing: Cancel processing on a raster collection asset.
 func (r *RasterCollectionsService) CancelProcessing(id string) *RasterCollectionsCancelProcessingCall {
-	c := &RasterCollectionsCancelProcessingCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsCancelProcessingCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsCancelProcessingCall) Fields(s ...googleapi.Field) *RasterCollectionsCancelProcessingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsCancelProcessingCall) Context(ctx context.Context) *RasterCollectionsCancelProcessingCall {
 	c.ctx_ = ctx
 	return c
@@ -8035,9 +8338,13 @@
 
 func (c *RasterCollectionsCancelProcessingCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/cancelProcessing")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8115,28 +8422,28 @@
 type RasterCollectionsCreateCall struct {
 	s                *Service
 	rastercollection *RasterCollection
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Create: Create a raster collection asset.
 func (r *RasterCollectionsService) Create(rastercollection *RasterCollection) *RasterCollectionsCreateCall {
-	c := &RasterCollectionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.rastercollection = rastercollection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsCreateCall) Fields(s ...googleapi.Field) *RasterCollectionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsCreateCall) Context(ctx context.Context) *RasterCollectionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -8149,9 +8456,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8218,30 +8529,30 @@
 // method id "mapsengine.rasterCollections.delete":
 
 type RasterCollectionsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a raster collection.
 func (r *RasterCollectionsService) Delete(id string) *RasterCollectionsDeleteCall {
-	c := &RasterCollectionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsDeleteCall) Fields(s ...googleapi.Field) *RasterCollectionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsDeleteCall) Context(ctx context.Context) *RasterCollectionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8249,9 +8560,13 @@
 
 func (c *RasterCollectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8300,25 +8615,24 @@
 // method id "mapsengine.rasterCollections.get":
 
 type RasterCollectionsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular raster collection.
 func (r *RasterCollectionsService) Get(id string) *RasterCollectionsGetCall {
-	c := &RasterCollectionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsGetCall) Fields(s ...googleapi.Field) *RasterCollectionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8328,13 +8642,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsGetCall) IfNoneMatch(entityTag string) *RasterCollectionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsGetCall) Context(ctx context.Context) *RasterCollectionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8342,16 +8656,20 @@
 
 func (c *RasterCollectionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8424,15 +8742,14 @@
 // method id "mapsengine.rasterCollections.list":
 
 type RasterCollectionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all raster collections readable by the current user.
 func (r *RasterCollectionsService) List() *RasterCollectionsListCall {
-	c := &RasterCollectionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -8440,7 +8757,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *RasterCollectionsListCall) Bbox(bbox string) *RasterCollectionsListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -8448,7 +8765,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *RasterCollectionsListCall) CreatedAfter(createdAfter string) *RasterCollectionsListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -8456,7 +8773,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *RasterCollectionsListCall) CreatedBefore(createdBefore string) *RasterCollectionsListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -8464,7 +8781,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *RasterCollectionsListCall) CreatorEmail(creatorEmail string) *RasterCollectionsListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -8472,7 +8789,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *RasterCollectionsListCall) MaxResults(maxResults int64) *RasterCollectionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8480,7 +8797,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *RasterCollectionsListCall) ModifiedAfter(modifiedAfter string) *RasterCollectionsListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -8488,7 +8805,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *RasterCollectionsListCall) ModifiedBefore(modifiedBefore string) *RasterCollectionsListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -8497,7 +8814,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RasterCollectionsListCall) PageToken(pageToken string) *RasterCollectionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -8510,7 +8827,7 @@
 //   "processing" - The raster collection is processing.
 //   "ready" - The raster collection is ready for processing.
 func (c *RasterCollectionsListCall) ProcessingStatus(processingStatus string) *RasterCollectionsListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -8520,7 +8837,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *RasterCollectionsListCall) ProjectId(projectId string) *RasterCollectionsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -8533,29 +8850,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *RasterCollectionsListCall) Role(role string) *RasterCollectionsListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *RasterCollectionsListCall) Search(search string) *RasterCollectionsListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *RasterCollectionsListCall) Tags(tags string) *RasterCollectionsListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsListCall) Fields(s ...googleapi.Field) *RasterCollectionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8565,13 +8882,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsListCall) IfNoneMatch(entityTag string) *RasterCollectionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsListCall) Context(ctx context.Context) *RasterCollectionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8579,14 +8896,57 @@
 
 func (c *RasterCollectionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8746,29 +9106,29 @@
 	s                *Service
 	id               string
 	rastercollection *RasterCollection
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Patch: Mutate a raster collection asset.
 func (r *RasterCollectionsService) Patch(id string, rastercollection *RasterCollection) *RasterCollectionsPatchCall {
-	c := &RasterCollectionsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.rastercollection = rastercollection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPatchCall) Fields(s ...googleapi.Field) *RasterCollectionsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPatchCall) Context(ctx context.Context) *RasterCollectionsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8781,9 +9141,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8836,30 +9200,30 @@
 // method id "mapsengine.rasterCollections.process":
 
 type RasterCollectionsProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a raster collection asset.
 func (r *RasterCollectionsService) Process(id string) *RasterCollectionsProcessCall {
-	c := &RasterCollectionsProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsProcessCall) Fields(s ...googleapi.Field) *RasterCollectionsProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsProcessCall) Context(ctx context.Context) *RasterCollectionsProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -8867,9 +9231,13 @@
 
 func (c *RasterCollectionsProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8945,16 +9313,15 @@
 // method id "mapsengine.rasterCollections.parents.list":
 
 type RasterCollectionsParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified raster collection.
 func (r *RasterCollectionsParentsService) List(id string) *RasterCollectionsParentsListCall {
-	c := &RasterCollectionsParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -8963,7 +9330,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *RasterCollectionsParentsListCall) MaxResults(maxResults int64) *RasterCollectionsParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8972,15 +9339,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RasterCollectionsParentsListCall) PageToken(pageToken string) *RasterCollectionsParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsParentsListCall) Fields(s ...googleapi.Field) *RasterCollectionsParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8990,13 +9357,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsParentsListCall) IfNoneMatch(entityTag string) *RasterCollectionsParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsParentsListCall) Context(ctx context.Context) *RasterCollectionsParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9004,16 +9371,26 @@
 
 func (c *RasterCollectionsParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9100,30 +9477,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *RasterCollectionsPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *RasterCollectionsPermissionsBatchDeleteCall {
-	c := &RasterCollectionsPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *RasterCollectionsPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPermissionsBatchDeleteCall) Context(ctx context.Context) *RasterCollectionsPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9136,9 +9513,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9221,7 +9602,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -9231,23 +9612,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *RasterCollectionsPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *RasterCollectionsPermissionsBatchUpdateCall {
-	c := &RasterCollectionsPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *RasterCollectionsPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPermissionsBatchUpdateCall) Context(ctx context.Context) *RasterCollectionsPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9260,9 +9641,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9342,25 +9727,24 @@
 // method id "mapsengine.rasterCollections.permissions.list":
 
 type RasterCollectionsPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *RasterCollectionsPermissionsService) List(id string) *RasterCollectionsPermissionsListCall {
-	c := &RasterCollectionsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPermissionsListCall) Fields(s ...googleapi.Field) *RasterCollectionsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9370,13 +9754,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsPermissionsListCall) IfNoneMatch(entityTag string) *RasterCollectionsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPermissionsListCall) Context(ctx context.Context) *RasterCollectionsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9384,16 +9768,20 @@
 
 func (c *RasterCollectionsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9469,7 +9857,7 @@
 	s                                         *Service
 	id                                        string
 	rastercollectionsrasterbatchdeleterequest *RasterCollectionsRasterBatchDeleteRequest
-	urlParams_                                internal.URLParams
+	opt_                                      map[string]interface{}
 	ctx_                                      context.Context
 }
 
@@ -9478,23 +9866,23 @@
 // Up to 50 rasters can be included in a single batchDelete request.
 // Each batchDelete request is atomic.
 func (r *RasterCollectionsRastersService) BatchDelete(id string, rastercollectionsrasterbatchdeleterequest *RasterCollectionsRasterBatchDeleteRequest) *RasterCollectionsRastersBatchDeleteCall {
-	c := &RasterCollectionsRastersBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsRastersBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.rastercollectionsrasterbatchdeleterequest = rastercollectionsrasterbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsRastersBatchDeleteCall) Fields(s ...googleapi.Field) *RasterCollectionsRastersBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsRastersBatchDeleteCall) Context(ctx context.Context) *RasterCollectionsRastersBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9507,9 +9895,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/rasters/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9594,7 +9986,7 @@
 	s                                          *Service
 	id                                         string
 	rastercollectionsrastersbatchinsertrequest *RasterCollectionsRastersBatchInsertRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
@@ -9605,23 +9997,23 @@
 // Up to 50 rasters can be included in a single batchInsert request.
 // Each batchInsert request is atomic.
 func (r *RasterCollectionsRastersService) BatchInsert(id string, rastercollectionsrastersbatchinsertrequest *RasterCollectionsRastersBatchInsertRequest) *RasterCollectionsRastersBatchInsertCall {
-	c := &RasterCollectionsRastersBatchInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsRastersBatchInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.rastercollectionsrastersbatchinsertrequest = rastercollectionsrastersbatchinsertrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsRastersBatchInsertCall) Fields(s ...googleapi.Field) *RasterCollectionsRastersBatchInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsRastersBatchInsertCall) Context(ctx context.Context) *RasterCollectionsRastersBatchInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9634,9 +10026,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/rasters/batchInsert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9718,16 +10114,15 @@
 // method id "mapsengine.rasterCollections.rasters.list":
 
 type RasterCollectionsRastersListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all rasters within a raster collection.
 func (r *RasterCollectionsRastersService) List(id string) *RasterCollectionsRastersListCall {
-	c := &RasterCollectionsRastersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsRastersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -9736,7 +10131,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *RasterCollectionsRastersListCall) Bbox(bbox string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -9744,7 +10139,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *RasterCollectionsRastersListCall) CreatedAfter(createdAfter string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -9752,7 +10147,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *RasterCollectionsRastersListCall) CreatedBefore(createdBefore string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -9760,7 +10155,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *RasterCollectionsRastersListCall) CreatorEmail(creatorEmail string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -9768,7 +10163,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *RasterCollectionsRastersListCall) MaxResults(maxResults int64) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9776,7 +10171,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *RasterCollectionsRastersListCall) ModifiedAfter(modifiedAfter string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -9784,7 +10179,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *RasterCollectionsRastersListCall) ModifiedBefore(modifiedBefore string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -9793,7 +10188,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RasterCollectionsRastersListCall) PageToken(pageToken string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -9806,29 +10201,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *RasterCollectionsRastersListCall) Role(role string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *RasterCollectionsRastersListCall) Search(search string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *RasterCollectionsRastersListCall) Tags(tags string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsRastersListCall) Fields(s ...googleapi.Field) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9838,13 +10233,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsRastersListCall) IfNoneMatch(entityTag string) *RasterCollectionsRastersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsRastersListCall) Context(ctx context.Context) *RasterCollectionsRastersListCall {
 	c.ctx_ = ctx
 	return c
@@ -9852,16 +10247,53 @@
 
 func (c *RasterCollectionsRastersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/rasters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10005,30 +10437,30 @@
 // method id "mapsengine.rasters.delete":
 
 type RastersDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a raster.
 func (r *RastersService) Delete(id string) *RastersDeleteCall {
-	c := &RastersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersDeleteCall) Fields(s ...googleapi.Field) *RastersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersDeleteCall) Context(ctx context.Context) *RastersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -10036,9 +10468,13 @@
 
 func (c *RastersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -10087,25 +10523,24 @@
 // method id "mapsengine.rasters.get":
 
 type RastersGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a single raster.
 func (r *RastersService) Get(id string) *RastersGetCall {
-	c := &RastersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersGetCall) Fields(s ...googleapi.Field) *RastersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10115,13 +10550,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersGetCall) IfNoneMatch(entityTag string) *RastersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersGetCall) Context(ctx context.Context) *RastersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10129,16 +10564,20 @@
 
 func (c *RastersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10211,16 +10650,16 @@
 // method id "mapsengine.rasters.list":
 
 type RastersListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Return all rasters readable by the current user.
 func (r *RastersService) List(projectId string) *RastersListCall {
-	c := &RastersListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectId", projectId)
+	c := &RastersListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectId = projectId
 	return c
 }
 
@@ -10228,7 +10667,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *RastersListCall) Bbox(bbox string) *RastersListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -10236,7 +10675,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *RastersListCall) CreatedAfter(createdAfter string) *RastersListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -10244,7 +10683,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *RastersListCall) CreatedBefore(createdBefore string) *RastersListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -10252,7 +10691,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *RastersListCall) CreatorEmail(creatorEmail string) *RastersListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -10260,7 +10699,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *RastersListCall) MaxResults(maxResults int64) *RastersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10268,7 +10707,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *RastersListCall) ModifiedAfter(modifiedAfter string) *RastersListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -10276,7 +10715,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *RastersListCall) ModifiedBefore(modifiedBefore string) *RastersListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -10285,7 +10724,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RastersListCall) PageToken(pageToken string) *RastersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -10298,7 +10737,7 @@
 //   "processing" - The raster is processing.
 //   "ready" - The raster is ready for processing.
 func (c *RastersListCall) ProcessingStatus(processingStatus string) *RastersListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -10311,29 +10750,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *RastersListCall) Role(role string) *RastersListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *RastersListCall) Search(search string) *RastersListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *RastersListCall) Tags(tags string) *RastersListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersListCall) Fields(s ...googleapi.Field) *RastersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10343,13 +10782,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersListCall) IfNoneMatch(entityTag string) *RastersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersListCall) Context(ctx context.Context) *RastersListCall {
 	c.ctx_ = ctx
 	return c
@@ -10357,14 +10796,55 @@
 
 func (c *RastersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("projectId", fmt.Sprintf("%v", c.projectId))
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10525,32 +11005,32 @@
 // method id "mapsengine.rasters.patch":
 
 type RastersPatchCall struct {
-	s          *Service
-	id         string
-	raster     *Raster
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	raster *Raster
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Mutate a raster asset.
 func (r *RastersService) Patch(id string, raster *Raster) *RastersPatchCall {
-	c := &RastersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.raster = raster
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPatchCall) Fields(s ...googleapi.Field) *RastersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPatchCall) Context(ctx context.Context) *RastersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10563,9 +11043,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -10618,30 +11102,30 @@
 // method id "mapsengine.rasters.process":
 
 type RastersProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a raster asset.
 func (r *RastersService) Process(id string) *RastersProcessCall {
-	c := &RastersProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersProcessCall) Fields(s ...googleapi.Field) *RastersProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersProcessCall) Context(ctx context.Context) *RastersProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -10649,9 +11133,13 @@
 
 func (c *RastersProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -10727,30 +11215,30 @@
 // method id "mapsengine.rasters.upload":
 
 type RastersUploadCall struct {
-	s          *Service
-	raster     *Raster
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	raster *Raster
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Upload: Create a skeleton raster asset for upload.
 func (r *RastersService) Upload(raster *Raster) *RastersUploadCall {
-	c := &RastersUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.raster = raster
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersUploadCall) Fields(s ...googleapi.Field) *RastersUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersUploadCall) Context(ctx context.Context) *RastersUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -10763,9 +11251,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/upload")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -10832,39 +11324,39 @@
 // method id "mapsengine.rasters.files.insert":
 
 type RastersFilesInsertCall struct {
-	s                *Service
-	id               string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	id         string
+	filename   string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Upload a file to a raster asset.
 func (r *RastersFilesService) Insert(id string, filename string) *RastersFilesInsertCall {
-	c := &RastersFilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersFilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
-	c.urlParams_.Set("filename", filename)
+	c.filename = filename
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *RastersFilesInsertCall) Media(r io.Reader) *RastersFilesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *RastersFilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *RastersFilesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -10873,28 +11365,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *RastersFilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *RastersFilesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersFilesInsertCall) Fields(s ...googleapi.Field) *RastersFilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *RastersFilesInsertCall) Context(ctx context.Context) *RastersFilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -10902,13 +11393,18 @@
 
 func (c *RastersFilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("filename", fmt.Sprintf("%v", c.filename))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/files")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -10948,6 +11444,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -10957,7 +11459,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -11016,16 +11518,15 @@
 // method id "mapsengine.rasters.parents.list":
 
 type RastersParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified rasters.
 func (r *RastersParentsService) List(id string) *RastersParentsListCall {
-	c := &RastersParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -11034,7 +11535,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *RastersParentsListCall) MaxResults(maxResults int64) *RastersParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11043,15 +11544,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RastersParentsListCall) PageToken(pageToken string) *RastersParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersParentsListCall) Fields(s ...googleapi.Field) *RastersParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11061,13 +11562,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersParentsListCall) IfNoneMatch(entityTag string) *RastersParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersParentsListCall) Context(ctx context.Context) *RastersParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11075,16 +11576,26 @@
 
 func (c *RastersParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11171,30 +11682,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *RastersPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *RastersPermissionsBatchDeleteCall {
-	c := &RastersPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *RastersPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPermissionsBatchDeleteCall) Context(ctx context.Context) *RastersPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11207,9 +11718,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -11292,7 +11807,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -11302,23 +11817,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *RastersPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *RastersPermissionsBatchUpdateCall {
-	c := &RastersPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *RastersPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPermissionsBatchUpdateCall) Context(ctx context.Context) *RastersPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11331,9 +11846,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -11413,25 +11932,24 @@
 // method id "mapsengine.rasters.permissions.list":
 
 type RastersPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *RastersPermissionsService) List(id string) *RastersPermissionsListCall {
-	c := &RastersPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPermissionsListCall) Fields(s ...googleapi.Field) *RastersPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11441,13 +11959,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersPermissionsListCall) IfNoneMatch(entityTag string) *RastersPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPermissionsListCall) Context(ctx context.Context) *RastersPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11455,16 +11973,20 @@
 
 func (c *RastersPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11537,30 +12059,30 @@
 // method id "mapsengine.tables.create":
 
 type TablesCreateCall struct {
-	s          *Service
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Create a table asset.
 func (r *TablesService) Create(table *Table) *TablesCreateCall {
-	c := &TablesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesCreateCall) Fields(s ...googleapi.Field) *TablesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesCreateCall) Context(ctx context.Context) *TablesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -11573,9 +12095,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -11642,30 +12168,30 @@
 // method id "mapsengine.tables.delete":
 
 type TablesDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a table.
 func (r *TablesService) Delete(id string) *TablesDeleteCall {
-	c := &TablesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesDeleteCall) Fields(s ...googleapi.Field) *TablesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesDeleteCall) Context(ctx context.Context) *TablesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11673,9 +12199,13 @@
 
 func (c *TablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -11724,16 +12254,15 @@
 // method id "mapsengine.tables.get":
 
 type TablesGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular table, including the schema.
 func (r *TablesService) Get(id string) *TablesGetCall {
-	c := &TablesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -11744,15 +12273,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *TablesGetCall) Version(version string) *TablesGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesGetCall) Fields(s ...googleapi.Field) *TablesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11762,13 +12291,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesGetCall) IfNoneMatch(entityTag string) *TablesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesGetCall) Context(ctx context.Context) *TablesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11776,16 +12305,23 @@
 
 func (c *TablesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11870,15 +12406,14 @@
 // method id "mapsengine.tables.list":
 
 type TablesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all tables readable by the current user.
 func (r *TablesService) List() *TablesListCall {
-	c := &TablesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -11886,7 +12421,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *TablesListCall) Bbox(bbox string) *TablesListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -11894,7 +12429,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *TablesListCall) CreatedAfter(createdAfter string) *TablesListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -11902,7 +12437,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *TablesListCall) CreatedBefore(createdBefore string) *TablesListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -11910,7 +12445,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *TablesListCall) CreatorEmail(creatorEmail string) *TablesListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -11918,7 +12453,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *TablesListCall) MaxResults(maxResults int64) *TablesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11926,7 +12461,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *TablesListCall) ModifiedAfter(modifiedAfter string) *TablesListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -11934,7 +12469,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *TablesListCall) ModifiedBefore(modifiedBefore string) *TablesListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -11943,7 +12478,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *TablesListCall) PageToken(pageToken string) *TablesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -11956,7 +12491,7 @@
 //   "processing" - The table is processing.
 //   "ready" - The table is ready for processing.
 func (c *TablesListCall) ProcessingStatus(processingStatus string) *TablesListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -11966,7 +12501,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *TablesListCall) ProjectId(projectId string) *TablesListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -11979,29 +12514,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *TablesListCall) Role(role string) *TablesListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *TablesListCall) Search(search string) *TablesListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *TablesListCall) Tags(tags string) *TablesListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesListCall) Fields(s ...googleapi.Field) *TablesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12011,13 +12546,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesListCall) IfNoneMatch(entityTag string) *TablesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesListCall) Context(ctx context.Context) *TablesListCall {
 	c.ctx_ = ctx
 	return c
@@ -12025,14 +12560,57 @@
 
 func (c *TablesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12189,32 +12767,32 @@
 // method id "mapsengine.tables.patch":
 
 type TablesPatchCall struct {
-	s          *Service
-	id         string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	id    string
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Patch: Mutate a table asset.
 func (r *TablesService) Patch(id string, table *Table) *TablesPatchCall {
-	c := &TablesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPatchCall) Fields(s ...googleapi.Field) *TablesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPatchCall) Context(ctx context.Context) *TablesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12227,9 +12805,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12282,30 +12864,30 @@
 // method id "mapsengine.tables.process":
 
 type TablesProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a table asset.
 func (r *TablesService) Process(id string) *TablesProcessCall {
-	c := &TablesProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesProcessCall) Fields(s ...googleapi.Field) *TablesProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesProcessCall) Context(ctx context.Context) *TablesProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -12313,9 +12895,13 @@
 
 func (c *TablesProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12391,10 +12977,10 @@
 // method id "mapsengine.tables.upload":
 
 type TablesUploadCall struct {
-	s          *Service
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Upload: Create a placeholder table asset to which table files can be
@@ -12405,22 +12991,22 @@
 // See Table Upload in the Developer's Guide or Table.files: insert in
 // the reference documentation for more information.
 func (r *TablesService) Upload(table *Table) *TablesUploadCall {
-	c := &TablesUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesUploadCall) Fields(s ...googleapi.Field) *TablesUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesUploadCall) Context(ctx context.Context) *TablesUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -12433,9 +13019,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/upload")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -12505,29 +13095,29 @@
 	s                          *Service
 	id                         string
 	featuresbatchdeleterequest *FeaturesBatchDeleteRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // BatchDelete: Delete all features matching the given IDs.
 func (r *TablesFeaturesService) BatchDelete(id string, featuresbatchdeleterequest *FeaturesBatchDeleteRequest) *TablesFeaturesBatchDeleteCall {
-	c := &TablesFeaturesBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.featuresbatchdeleterequest = featuresbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesBatchDeleteCall) Fields(s ...googleapi.Field) *TablesFeaturesBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesBatchDeleteCall) Context(ctx context.Context) *TablesFeaturesBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -12540,9 +13130,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12598,7 +13192,7 @@
 	s                          *Service
 	id                         string
 	featuresbatchinsertrequest *FeaturesBatchInsertRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -12615,23 +13209,23 @@
 // For more information about inserting features, read Creating features
 // in the Google Maps Engine developer's guide.
 func (r *TablesFeaturesService) BatchInsert(id string, featuresbatchinsertrequest *FeaturesBatchInsertRequest) *TablesFeaturesBatchInsertCall {
-	c := &TablesFeaturesBatchInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesBatchInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.featuresbatchinsertrequest = featuresbatchinsertrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesBatchInsertCall) Fields(s ...googleapi.Field) *TablesFeaturesBatchInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesBatchInsertCall) Context(ctx context.Context) *TablesFeaturesBatchInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12644,9 +13238,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features/batchInsert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12702,7 +13300,7 @@
 	s                         *Service
 	id                        string
 	featuresbatchpatchrequest *FeaturesBatchPatchRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
@@ -12729,23 +13327,23 @@
 // For more information about updating features, read Updating features
 // in the Google Maps Engine developer's guide.
 func (r *TablesFeaturesService) BatchPatch(id string, featuresbatchpatchrequest *FeaturesBatchPatchRequest) *TablesFeaturesBatchPatchCall {
-	c := &TablesFeaturesBatchPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesBatchPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.featuresbatchpatchrequest = featuresbatchpatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesBatchPatchCall) Fields(s ...googleapi.Field) *TablesFeaturesBatchPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesBatchPatchCall) Context(ctx context.Context) *TablesFeaturesBatchPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12758,9 +13356,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features/batchPatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12813,17 +13415,16 @@
 // method id "mapsengine.tables.features.get":
 
 type TablesFeaturesGetCall struct {
-	s            *Service
-	tableId      string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	id      string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Return a single feature, given its ID.
 func (r *TablesFeaturesService) Get(tableId string, id string) *TablesFeaturesGetCall {
-	c := &TablesFeaturesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.id = id
 	return c
@@ -12833,7 +13434,7 @@
 // clause used to specify returned properties. If this parameter is not
 // included, all properties are returned.
 func (c *TablesFeaturesGetCall) Select(select_ string) *TablesFeaturesGetCall {
-	c.urlParams_.Set("select_", select_)
+	c.opt_["select"] = select_
 	return c
 }
 
@@ -12844,15 +13445,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *TablesFeaturesGetCall) Version(version string) *TablesFeaturesGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesGetCall) Fields(s ...googleapi.Field) *TablesFeaturesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12862,13 +13463,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesFeaturesGetCall) IfNoneMatch(entityTag string) *TablesFeaturesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesGetCall) Context(ctx context.Context) *TablesFeaturesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12876,17 +13477,27 @@
 
 func (c *TablesFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["select"]; ok {
+		params.Set("select", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/features/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 		"id":      c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12984,16 +13595,15 @@
 // method id "mapsengine.tables.features.list":
 
 type TablesFeaturesListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all features readable by the current user.
 func (r *TablesFeaturesService) List(id string) *TablesFeaturesListCall {
-	c := &TablesFeaturesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -13001,14 +13611,14 @@
 // Include sets the optional parameter "include": A comma separated list
 // of optional data to include. Optional data available: schema.
 func (c *TablesFeaturesListCall) Include(include string) *TablesFeaturesListCall {
-	c.urlParams_.Set("include", include)
+	c.opt_["include"] = include
 	return c
 }
 
 // Intersects sets the optional parameter "intersects": A geometry
 // literal that specifies the spatial restriction of the query.
 func (c *TablesFeaturesListCall) Intersects(intersects string) *TablesFeaturesListCall {
-	c.urlParams_.Set("intersects", intersects)
+	c.opt_["intersects"] = intersects
 	return c
 }
 
@@ -13016,7 +13626,7 @@
 // features to return from the query, irrespective of the number of
 // pages.
 func (c *TablesFeaturesListCall) Limit(limit int64) *TablesFeaturesListCall {
-	c.urlParams_.Set("limit", fmt.Sprintf("%v", limit))
+	c.opt_["limit"] = limit
 	return c
 }
 
@@ -13024,7 +13634,7 @@
 // number of items to include in the response, used for paging. The
 // maximum supported value is 1000.
 func (c *TablesFeaturesListCall) MaxResults(maxResults int64) *TablesFeaturesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13032,7 +13642,7 @@
 // clause used to sort results. If this parameter is not included, the
 // order of features is undefined.
 func (c *TablesFeaturesListCall) OrderBy(orderBy string) *TablesFeaturesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -13041,7 +13651,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *TablesFeaturesListCall) PageToken(pageToken string) *TablesFeaturesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -13049,7 +13659,7 @@
 // clause used to specify returned properties. If this parameter is not
 // included, all properties are returned.
 func (c *TablesFeaturesListCall) Select(select_ string) *TablesFeaturesListCall {
-	c.urlParams_.Set("select_", select_)
+	c.opt_["select"] = select_
 	return c
 }
 
@@ -13060,22 +13670,22 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *TablesFeaturesListCall) Version(version string) *TablesFeaturesListCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
 // Where sets the optional parameter "where": An SQL-like predicate used
 // to filter results.
 func (c *TablesFeaturesListCall) Where(where string) *TablesFeaturesListCall {
-	c.urlParams_.Set("where", where)
+	c.opt_["where"] = where
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesListCall) Fields(s ...googleapi.Field) *TablesFeaturesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13085,13 +13695,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesFeaturesListCall) IfNoneMatch(entityTag string) *TablesFeaturesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesListCall) Context(ctx context.Context) *TablesFeaturesListCall {
 	c.ctx_ = ctx
 	return c
@@ -13099,16 +13709,47 @@
 
 func (c *TablesFeaturesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["include"]; ok {
+		params.Set("include", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["intersects"]; ok {
+		params.Set("intersects", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["limit"]; ok {
+		params.Set("limit", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["select"]; ok {
+		params.Set("select", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["where"]; ok {
+		params.Set("where", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13236,15 +13877,15 @@
 // method id "mapsengine.tables.files.insert":
 
 type TablesFilesInsertCall struct {
-	s                *Service
-	id               string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	id         string
+	filename   string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Upload a file to a placeholder table asset. See Table Upload
@@ -13252,26 +13893,26 @@
 // Supported file types are listed in the Supported data formats and
 // limits article of the Google Maps Engine help center.
 func (r *TablesFilesService) Insert(id string, filename string) *TablesFilesInsertCall {
-	c := &TablesFilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
-	c.urlParams_.Set("filename", filename)
+	c.filename = filename
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TablesFilesInsertCall) Media(r io.Reader) *TablesFilesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TablesFilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TablesFilesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -13280,28 +13921,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TablesFilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TablesFilesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFilesInsertCall) Fields(s ...googleapi.Field) *TablesFilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TablesFilesInsertCall) Context(ctx context.Context) *TablesFilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13309,13 +13949,18 @@
 
 func (c *TablesFilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("filename", fmt.Sprintf("%v", c.filename))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/files")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -13355,6 +14000,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -13364,7 +14015,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -13423,16 +14074,15 @@
 // method id "mapsengine.tables.parents.list":
 
 type TablesParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified table.
 func (r *TablesParentsService) List(id string) *TablesParentsListCall {
-	c := &TablesParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -13441,7 +14091,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *TablesParentsListCall) MaxResults(maxResults int64) *TablesParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13450,15 +14100,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *TablesParentsListCall) PageToken(pageToken string) *TablesParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesParentsListCall) Fields(s ...googleapi.Field) *TablesParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13468,13 +14118,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesParentsListCall) IfNoneMatch(entityTag string) *TablesParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesParentsListCall) Context(ctx context.Context) *TablesParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13482,16 +14132,26 @@
 
 func (c *TablesParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13578,30 +14238,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *TablesPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *TablesPermissionsBatchDeleteCall {
-	c := &TablesPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *TablesPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPermissionsBatchDeleteCall) Context(ctx context.Context) *TablesPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13614,9 +14274,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -13699,7 +14363,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -13709,23 +14373,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *TablesPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *TablesPermissionsBatchUpdateCall {
-	c := &TablesPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *TablesPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPermissionsBatchUpdateCall) Context(ctx context.Context) *TablesPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13738,9 +14402,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -13820,25 +14488,24 @@
 // method id "mapsengine.tables.permissions.list":
 
 type TablesPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *TablesPermissionsService) List(id string) *TablesPermissionsListCall {
-	c := &TablesPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPermissionsListCall) Fields(s ...googleapi.Field) *TablesPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13848,13 +14515,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesPermissionsListCall) IfNoneMatch(entityTag string) *TablesPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPermissionsListCall) Context(ctx context.Context) *TablesPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13862,16 +14529,20 @@
 
 func (c *TablesPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/mapsengine/v1/mapsengine-gen.go b/mapsengine/v1/mapsengine-gen.go
index 0c25eab..861d053 100644
--- a/mapsengine/v1/mapsengine-gen.go
+++ b/mapsengine/v1/mapsengine-gen.go
@@ -2986,25 +2986,24 @@
 // method id "mapsengine.assets.get":
 
 type AssetsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular asset.
 func (r *AssetsService) Get(id string) *AssetsGetCall {
-	c := &AssetsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsGetCall) Fields(s ...googleapi.Field) *AssetsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3014,13 +3013,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsGetCall) IfNoneMatch(entityTag string) *AssetsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsGetCall) Context(ctx context.Context) *AssetsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3028,16 +3027,20 @@
 
 func (c *AssetsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3110,15 +3113,14 @@
 // method id "mapsengine.assets.list":
 
 type AssetsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all assets readable by the current user.
 func (r *AssetsService) List() *AssetsListCall {
-	c := &AssetsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -3126,7 +3128,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *AssetsListCall) Bbox(bbox string) *AssetsListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -3134,7 +3136,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *AssetsListCall) CreatedAfter(createdAfter string) *AssetsListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -3142,7 +3144,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *AssetsListCall) CreatedBefore(createdBefore string) *AssetsListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -3150,7 +3152,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *AssetsListCall) CreatorEmail(creatorEmail string) *AssetsListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -3158,7 +3160,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *AssetsListCall) MaxResults(maxResults int64) *AssetsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3166,7 +3168,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *AssetsListCall) ModifiedAfter(modifiedAfter string) *AssetsListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -3174,7 +3176,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *AssetsListCall) ModifiedBefore(modifiedBefore string) *AssetsListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -3183,7 +3185,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *AssetsListCall) PageToken(pageToken string) *AssetsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3193,7 +3195,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *AssetsListCall) ProjectId(projectId string) *AssetsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -3206,21 +3208,21 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *AssetsListCall) Role(role string) *AssetsListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *AssetsListCall) Search(search string) *AssetsListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *AssetsListCall) Tags(tags string) *AssetsListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
@@ -3229,15 +3231,15 @@
 // provided list. Supported values are 'map', 'layer',
 // 'rasterCollection' and 'table'.
 func (c *AssetsListCall) Type(type_ string) *AssetsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsListCall) Fields(s ...googleapi.Field) *AssetsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3247,13 +3249,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsListCall) IfNoneMatch(entityTag string) *AssetsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsListCall) Context(ctx context.Context) *AssetsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3261,14 +3263,57 @@
 
 func (c *AssetsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3412,16 +3457,15 @@
 // method id "mapsengine.assets.parents.list":
 
 type AssetsParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified asset.
 func (r *AssetsParentsService) List(id string) *AssetsParentsListCall {
-	c := &AssetsParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -3430,7 +3474,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *AssetsParentsListCall) MaxResults(maxResults int64) *AssetsParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3439,15 +3483,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *AssetsParentsListCall) PageToken(pageToken string) *AssetsParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsParentsListCall) Fields(s ...googleapi.Field) *AssetsParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3457,13 +3501,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsParentsListCall) IfNoneMatch(entityTag string) *AssetsParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsParentsListCall) Context(ctx context.Context) *AssetsParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3471,16 +3515,26 @@
 
 func (c *AssetsParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3564,25 +3618,24 @@
 // method id "mapsengine.assets.permissions.list":
 
 type AssetsPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *AssetsPermissionsService) List(id string) *AssetsPermissionsListCall {
-	c := &AssetsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AssetsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AssetsPermissionsListCall) Fields(s ...googleapi.Field) *AssetsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3592,13 +3645,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AssetsPermissionsListCall) IfNoneMatch(entityTag string) *AssetsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AssetsPermissionsListCall) Context(ctx context.Context) *AssetsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3606,16 +3659,20 @@
 
 func (c *AssetsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "assets/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3688,30 +3745,30 @@
 // method id "mapsengine.layers.cancelProcessing":
 
 type LayersCancelProcessingCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // CancelProcessing: Cancel processing on a layer asset.
 func (r *LayersService) CancelProcessing(id string) *LayersCancelProcessingCall {
-	c := &LayersCancelProcessingCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersCancelProcessingCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersCancelProcessingCall) Fields(s ...googleapi.Field) *LayersCancelProcessingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersCancelProcessingCall) Context(ctx context.Context) *LayersCancelProcessingCall {
 	c.ctx_ = ctx
 	return c
@@ -3719,9 +3776,13 @@
 
 func (c *LayersCancelProcessingCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/cancelProcessing")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -3797,15 +3858,15 @@
 // method id "mapsengine.layers.create":
 
 type LayersCreateCall struct {
-	s          *Service
-	layer      *Layer
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	layer *Layer
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Create a layer asset.
 func (r *LayersService) Create(layer *Layer) *LayersCreateCall {
-	c := &LayersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.layer = layer
 	return c
 }
@@ -3813,21 +3874,21 @@
 // Process sets the optional parameter "process": Whether to queue the
 // created layer for processing.
 func (c *LayersCreateCall) Process(process bool) *LayersCreateCall {
-	c.urlParams_.Set("process", fmt.Sprintf("%v", process))
+	c.opt_["process"] = process
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersCreateCall) Fields(s ...googleapi.Field) *LayersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersCreateCall) Context(ctx context.Context) *LayersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3840,9 +3901,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["process"]; ok {
+		params.Set("process", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3916,30 +3984,30 @@
 // method id "mapsengine.layers.delete":
 
 type LayersDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a layer.
 func (r *LayersService) Delete(id string) *LayersDeleteCall {
-	c := &LayersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersDeleteCall) Fields(s ...googleapi.Field) *LayersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersDeleteCall) Context(ctx context.Context) *LayersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3947,9 +4015,13 @@
 
 func (c *LayersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -3998,16 +4070,15 @@
 // method id "mapsengine.layers.get":
 
 type LayersGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular layer.
 func (r *LayersService) Get(id string) *LayersGetCall {
-	c := &LayersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -4022,15 +4093,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *LayersGetCall) Version(version string) *LayersGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersGetCall) Fields(s ...googleapi.Field) *LayersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4040,13 +4111,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersGetCall) IfNoneMatch(entityTag string) *LayersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersGetCall) Context(ctx context.Context) *LayersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4054,16 +4125,23 @@
 
 func (c *LayersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4149,25 +4227,24 @@
 // method id "mapsengine.layers.getPublished":
 
 type LayersGetPublishedCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetPublished: Return the published metadata for a particular layer.
 func (r *LayersService) GetPublished(id string) *LayersGetPublishedCall {
-	c := &LayersGetPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersGetPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersGetPublishedCall) Fields(s ...googleapi.Field) *LayersGetPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4177,13 +4254,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersGetPublishedCall) IfNoneMatch(entityTag string) *LayersGetPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersGetPublishedCall) Context(ctx context.Context) *LayersGetPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -4191,16 +4268,20 @@
 
 func (c *LayersGetPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4273,15 +4354,14 @@
 // method id "mapsengine.layers.list":
 
 type LayersListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all layers readable by the current user.
 func (r *LayersService) List() *LayersListCall {
-	c := &LayersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -4289,7 +4369,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *LayersListCall) Bbox(bbox string) *LayersListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -4297,7 +4377,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *LayersListCall) CreatedAfter(createdAfter string) *LayersListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -4305,7 +4385,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *LayersListCall) CreatedBefore(createdBefore string) *LayersListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -4313,7 +4393,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *LayersListCall) CreatorEmail(creatorEmail string) *LayersListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -4321,7 +4401,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *LayersListCall) MaxResults(maxResults int64) *LayersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4329,7 +4409,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *LayersListCall) ModifiedAfter(modifiedAfter string) *LayersListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -4337,7 +4417,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *LayersListCall) ModifiedBefore(modifiedBefore string) *LayersListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -4346,7 +4426,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *LayersListCall) PageToken(pageToken string) *LayersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4359,7 +4439,7 @@
 //   "processing" - The layer is processing.
 //   "ready" - The layer is ready for processing.
 func (c *LayersListCall) ProcessingStatus(processingStatus string) *LayersListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -4369,7 +4449,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *LayersListCall) ProjectId(projectId string) *LayersListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -4382,29 +4462,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *LayersListCall) Role(role string) *LayersListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *LayersListCall) Search(search string) *LayersListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *LayersListCall) Tags(tags string) *LayersListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersListCall) Fields(s ...googleapi.Field) *LayersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4414,13 +4494,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersListCall) IfNoneMatch(entityTag string) *LayersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersListCall) Context(ctx context.Context) *LayersListCall {
 	c.ctx_ = ctx
 	return c
@@ -4428,14 +4508,57 @@
 
 func (c *LayersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4592,16 +4715,15 @@
 // method id "mapsengine.layers.listPublished":
 
 type LayersListPublishedCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListPublished: Return all published layers readable by the current
 // user.
 func (r *LayersService) ListPublished() *LayersListPublishedCall {
-	c := &LayersListPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersListPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -4609,7 +4731,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *LayersListPublishedCall) MaxResults(maxResults int64) *LayersListPublishedCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4618,7 +4740,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *LayersListPublishedCall) PageToken(pageToken string) *LayersListPublishedCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -4628,15 +4750,15 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *LayersListPublishedCall) ProjectId(projectId string) *LayersListPublishedCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersListPublishedCall) Fields(s ...googleapi.Field) *LayersListPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4646,13 +4768,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersListPublishedCall) IfNoneMatch(entityTag string) *LayersListPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersListPublishedCall) Context(ctx context.Context) *LayersListPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -4660,14 +4782,27 @@
 
 func (c *LayersListPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4747,32 +4882,32 @@
 // method id "mapsengine.layers.patch":
 
 type LayersPatchCall struct {
-	s          *Service
-	id         string
-	layer      *Layer
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	id    string
+	layer *Layer
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Patch: Mutate a layer asset.
 func (r *LayersService) Patch(id string, layer *Layer) *LayersPatchCall {
-	c := &LayersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.layer = layer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPatchCall) Fields(s ...googleapi.Field) *LayersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPatchCall) Context(ctx context.Context) *LayersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4785,9 +4920,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -4840,30 +4979,30 @@
 // method id "mapsengine.layers.process":
 
 type LayersProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a layer asset.
 func (r *LayersService) Process(id string) *LayersProcessCall {
-	c := &LayersProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersProcessCall) Fields(s ...googleapi.Field) *LayersProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersProcessCall) Context(ctx context.Context) *LayersProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -4871,9 +5010,13 @@
 
 func (c *LayersProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -4949,15 +5092,15 @@
 // method id "mapsengine.layers.publish":
 
 type LayersPublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Publish: Publish a layer asset.
 func (r *LayersService) Publish(id string) *LayersPublishCall {
-	c := &LayersPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -4967,21 +5110,21 @@
 // true, you'll need to reprocess any out-of-date layer before
 // publishing.
 func (c *LayersPublishCall) Force(force bool) *LayersPublishCall {
-	c.urlParams_.Set("force", fmt.Sprintf("%v", force))
+	c.opt_["force"] = force
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPublishCall) Fields(s ...googleapi.Field) *LayersPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPublishCall) Context(ctx context.Context) *LayersPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -4989,9 +5132,16 @@
 
 func (c *LayersPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["force"]; ok {
+		params.Set("force", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5072,30 +5222,30 @@
 // method id "mapsengine.layers.unpublish":
 
 type LayersUnpublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Unpublish: Unpublish a layer asset.
 func (r *LayersService) Unpublish(id string) *LayersUnpublishCall {
-	c := &LayersUnpublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersUnpublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersUnpublishCall) Fields(s ...googleapi.Field) *LayersUnpublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersUnpublishCall) Context(ctx context.Context) *LayersUnpublishCall {
 	c.ctx_ = ctx
 	return c
@@ -5103,9 +5253,13 @@
 
 func (c *LayersUnpublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/unpublish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5181,16 +5335,15 @@
 // method id "mapsengine.layers.parents.list":
 
 type LayersParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified layer.
 func (r *LayersParentsService) List(id string) *LayersParentsListCall {
-	c := &LayersParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -5199,7 +5352,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *LayersParentsListCall) MaxResults(maxResults int64) *LayersParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5208,15 +5361,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *LayersParentsListCall) PageToken(pageToken string) *LayersParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersParentsListCall) Fields(s ...googleapi.Field) *LayersParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5226,13 +5379,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersParentsListCall) IfNoneMatch(entityTag string) *LayersParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersParentsListCall) Context(ctx context.Context) *LayersParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5240,16 +5393,26 @@
 
 func (c *LayersParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5336,30 +5499,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *LayersPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *LayersPermissionsBatchDeleteCall {
-	c := &LayersPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *LayersPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPermissionsBatchDeleteCall) Context(ctx context.Context) *LayersPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5372,9 +5535,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5457,7 +5624,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -5467,23 +5634,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *LayersPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *LayersPermissionsBatchUpdateCall {
-	c := &LayersPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *LayersPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPermissionsBatchUpdateCall) Context(ctx context.Context) *LayersPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5496,9 +5663,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5578,25 +5749,24 @@
 // method id "mapsengine.layers.permissions.list":
 
 type LayersPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *LayersPermissionsService) List(id string) *LayersPermissionsListCall {
-	c := &LayersPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LayersPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LayersPermissionsListCall) Fields(s ...googleapi.Field) *LayersPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5606,13 +5776,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LayersPermissionsListCall) IfNoneMatch(entityTag string) *LayersPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LayersPermissionsListCall) Context(ctx context.Context) *LayersPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5620,16 +5790,20 @@
 
 func (c *LayersPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "layers/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5702,30 +5876,30 @@
 // method id "mapsengine.maps.create":
 
 type MapsCreateCall struct {
-	s          *Service
-	map_       *Map
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	map_ *Map
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Create: Create a map asset.
 func (r *MapsService) Create(map_ *Map) *MapsCreateCall {
-	c := &MapsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.map_ = map_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsCreateCall) Fields(s ...googleapi.Field) *MapsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsCreateCall) Context(ctx context.Context) *MapsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -5738,9 +5912,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -5807,30 +5985,30 @@
 // method id "mapsengine.maps.delete":
 
 type MapsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a map.
 func (r *MapsService) Delete(id string) *MapsDeleteCall {
-	c := &MapsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsDeleteCall) Fields(s ...googleapi.Field) *MapsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsDeleteCall) Context(ctx context.Context) *MapsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5838,9 +6016,13 @@
 
 func (c *MapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -5889,16 +6071,15 @@
 // method id "mapsengine.maps.get":
 
 type MapsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular map.
 func (r *MapsService) Get(id string) *MapsGetCall {
-	c := &MapsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -5913,15 +6094,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *MapsGetCall) Version(version string) *MapsGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsGetCall) Fields(s ...googleapi.Field) *MapsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5931,13 +6112,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsGetCall) IfNoneMatch(entityTag string) *MapsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsGetCall) Context(ctx context.Context) *MapsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5945,16 +6126,23 @@
 
 func (c *MapsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6040,25 +6228,24 @@
 // method id "mapsengine.maps.getPublished":
 
 type MapsGetPublishedCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetPublished: Return the published metadata for a particular map.
 func (r *MapsService) GetPublished(id string) *MapsGetPublishedCall {
-	c := &MapsGetPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsGetPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsGetPublishedCall) Fields(s ...googleapi.Field) *MapsGetPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6068,13 +6255,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsGetPublishedCall) IfNoneMatch(entityTag string) *MapsGetPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsGetPublishedCall) Context(ctx context.Context) *MapsGetPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -6082,16 +6269,20 @@
 
 func (c *MapsGetPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6164,15 +6355,14 @@
 // method id "mapsengine.maps.list":
 
 type MapsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all maps readable by the current user.
 func (r *MapsService) List() *MapsListCall {
-	c := &MapsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6180,7 +6370,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *MapsListCall) Bbox(bbox string) *MapsListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -6188,7 +6378,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *MapsListCall) CreatedAfter(createdAfter string) *MapsListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -6196,7 +6386,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *MapsListCall) CreatedBefore(createdBefore string) *MapsListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -6204,7 +6394,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *MapsListCall) CreatorEmail(creatorEmail string) *MapsListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -6212,7 +6402,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *MapsListCall) MaxResults(maxResults int64) *MapsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6220,7 +6410,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *MapsListCall) ModifiedAfter(modifiedAfter string) *MapsListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -6228,7 +6418,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *MapsListCall) ModifiedBefore(modifiedBefore string) *MapsListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -6237,7 +6427,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *MapsListCall) PageToken(pageToken string) *MapsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6249,7 +6439,7 @@
 //   "notReady" - The map is not ready for processing.
 //   "processing" - The map is processing.
 func (c *MapsListCall) ProcessingStatus(processingStatus string) *MapsListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -6259,7 +6449,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *MapsListCall) ProjectId(projectId string) *MapsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -6272,29 +6462,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *MapsListCall) Role(role string) *MapsListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *MapsListCall) Search(search string) *MapsListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *MapsListCall) Tags(tags string) *MapsListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsListCall) Fields(s ...googleapi.Field) *MapsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6304,13 +6494,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsListCall) IfNoneMatch(entityTag string) *MapsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsListCall) Context(ctx context.Context) *MapsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6318,14 +6508,57 @@
 
 func (c *MapsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6480,16 +6713,15 @@
 // method id "mapsengine.maps.listPublished":
 
 type MapsListPublishedCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // ListPublished: Return all published maps readable by the current
 // user.
 func (r *MapsService) ListPublished() *MapsListPublishedCall {
-	c := &MapsListPublishedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsListPublishedCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -6497,7 +6729,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *MapsListPublishedCall) MaxResults(maxResults int64) *MapsListPublishedCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6506,7 +6738,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *MapsListPublishedCall) PageToken(pageToken string) *MapsListPublishedCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -6516,15 +6748,15 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *MapsListPublishedCall) ProjectId(projectId string) *MapsListPublishedCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsListPublishedCall) Fields(s ...googleapi.Field) *MapsListPublishedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6534,13 +6766,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsListPublishedCall) IfNoneMatch(entityTag string) *MapsListPublishedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsListPublishedCall) Context(ctx context.Context) *MapsListPublishedCall {
 	c.ctx_ = ctx
 	return c
@@ -6548,14 +6780,27 @@
 
 func (c *MapsListPublishedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/published")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6635,32 +6880,32 @@
 // method id "mapsengine.maps.patch":
 
 type MapsPatchCall struct {
-	s          *Service
-	id         string
-	map_       *Map
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	map_ *Map
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Patch: Mutate a map asset.
 func (r *MapsService) Patch(id string, map_ *Map) *MapsPatchCall {
-	c := &MapsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.map_ = map_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPatchCall) Fields(s ...googleapi.Field) *MapsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPatchCall) Context(ctx context.Context) *MapsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6673,9 +6918,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -6728,15 +6977,15 @@
 // method id "mapsengine.maps.publish":
 
 type MapsPublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Publish: Publish a map asset.
 func (r *MapsService) Publish(id string) *MapsPublishCall {
-	c := &MapsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -6745,21 +6994,21 @@
 // will allow publication of the map even if it's out of date. If false,
 // the map must have a processingStatus of complete before publishing.
 func (c *MapsPublishCall) Force(force bool) *MapsPublishCall {
-	c.urlParams_.Set("force", fmt.Sprintf("%v", force))
+	c.opt_["force"] = force
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPublishCall) Fields(s ...googleapi.Field) *MapsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPublishCall) Context(ctx context.Context) *MapsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -6767,9 +7016,16 @@
 
 func (c *MapsPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["force"]; ok {
+		params.Set("force", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -6850,30 +7106,30 @@
 // method id "mapsengine.maps.unpublish":
 
 type MapsUnpublishCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Unpublish: Unpublish a map asset.
 func (r *MapsService) Unpublish(id string) *MapsUnpublishCall {
-	c := &MapsUnpublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsUnpublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsUnpublishCall) Fields(s ...googleapi.Field) *MapsUnpublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsUnpublishCall) Context(ctx context.Context) *MapsUnpublishCall {
 	c.ctx_ = ctx
 	return c
@@ -6881,9 +7137,13 @@
 
 func (c *MapsUnpublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/unpublish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -6962,30 +7222,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *MapsPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *MapsPermissionsBatchDeleteCall {
-	c := &MapsPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *MapsPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPermissionsBatchDeleteCall) Context(ctx context.Context) *MapsPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6998,9 +7258,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -7083,7 +7347,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -7093,23 +7357,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *MapsPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *MapsPermissionsBatchUpdateCall {
-	c := &MapsPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *MapsPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPermissionsBatchUpdateCall) Context(ctx context.Context) *MapsPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7122,9 +7386,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -7204,25 +7472,24 @@
 // method id "mapsengine.maps.permissions.list":
 
 type MapsPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *MapsPermissionsService) List(id string) *MapsPermissionsListCall {
-	c := &MapsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MapsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MapsPermissionsListCall) Fields(s ...googleapi.Field) *MapsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7232,13 +7499,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MapsPermissionsListCall) IfNoneMatch(entityTag string) *MapsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MapsPermissionsListCall) Context(ctx context.Context) *MapsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7246,16 +7513,20 @@
 
 func (c *MapsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "maps/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7328,23 +7599,22 @@
 // method id "mapsengine.projects.list":
 
 type ProjectsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all projects readable by the current user.
 func (r *ProjectsService) List() *ProjectsListCall {
-	c := &ProjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7354,13 +7624,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7368,14 +7638,18 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7437,40 +7711,39 @@
 // method id "mapsengine.projects.icons.create":
 
 type ProjectsIconsCreateCall struct {
-	s                *Service
-	projectId        string
-	icon             *Icon
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	projectId  string
+	icon       *Icon
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Create: Create an icon.
 func (r *ProjectsIconsService) Create(projectId string, icon *Icon) *ProjectsIconsCreateCall {
-	c := &ProjectsIconsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsIconsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.icon = icon
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ProjectsIconsCreateCall) Media(r io.Reader) *ProjectsIconsCreateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ProjectsIconsCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ProjectsIconsCreateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -7479,28 +7752,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ProjectsIconsCreateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ProjectsIconsCreateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsIconsCreateCall) Fields(s ...googleapi.Field) *ProjectsIconsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ProjectsIconsCreateCall) Context(ctx context.Context) *ProjectsIconsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -7513,13 +7785,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/icons")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -7572,6 +7848,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -7581,7 +7863,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -7648,27 +7930,26 @@
 // method id "mapsengine.projects.icons.get":
 
 type ProjectsIconsGetCall struct {
-	s            *Service
-	projectId    string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	id        string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Return an icon or its associated metadata
 func (r *ProjectsIconsService) Get(projectId string, id string) *ProjectsIconsGetCall {
-	c := &ProjectsIconsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsIconsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsIconsGetCall) Fields(s ...googleapi.Field) *ProjectsIconsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7678,13 +7959,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsIconsGetCall) IfNoneMatch(entityTag string) *ProjectsIconsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsIconsGetCall) Context(ctx context.Context) *ProjectsIconsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7692,17 +7973,21 @@
 
 func (c *ProjectsIconsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/icons/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 		"id":        c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7798,16 +8083,15 @@
 // method id "mapsengine.projects.icons.list":
 
 type ProjectsIconsListCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Return all icons in the current project
 func (r *ProjectsIconsService) List(projectId string) *ProjectsIconsListCall {
-	c := &ProjectsIconsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsIconsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
@@ -7816,7 +8100,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *ProjectsIconsListCall) MaxResults(maxResults int64) *ProjectsIconsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7825,15 +8109,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *ProjectsIconsListCall) PageToken(pageToken string) *ProjectsIconsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsIconsListCall) Fields(s ...googleapi.Field) *ProjectsIconsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7843,13 +8127,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsIconsListCall) IfNoneMatch(entityTag string) *ProjectsIconsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsIconsListCall) Context(ctx context.Context) *ProjectsIconsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7857,16 +8141,26 @@
 
 func (c *ProjectsIconsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/icons")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7950,30 +8244,30 @@
 // method id "mapsengine.rasterCollections.cancelProcessing":
 
 type RasterCollectionsCancelProcessingCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // CancelProcessing: Cancel processing on a raster collection asset.
 func (r *RasterCollectionsService) CancelProcessing(id string) *RasterCollectionsCancelProcessingCall {
-	c := &RasterCollectionsCancelProcessingCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsCancelProcessingCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsCancelProcessingCall) Fields(s ...googleapi.Field) *RasterCollectionsCancelProcessingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsCancelProcessingCall) Context(ctx context.Context) *RasterCollectionsCancelProcessingCall {
 	c.ctx_ = ctx
 	return c
@@ -7981,9 +8275,13 @@
 
 func (c *RasterCollectionsCancelProcessingCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/cancelProcessing")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8061,28 +8359,28 @@
 type RasterCollectionsCreateCall struct {
 	s                *Service
 	rastercollection *RasterCollection
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Create: Create a raster collection asset.
 func (r *RasterCollectionsService) Create(rastercollection *RasterCollection) *RasterCollectionsCreateCall {
-	c := &RasterCollectionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.rastercollection = rastercollection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsCreateCall) Fields(s ...googleapi.Field) *RasterCollectionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsCreateCall) Context(ctx context.Context) *RasterCollectionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -8095,9 +8393,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -8164,30 +8466,30 @@
 // method id "mapsengine.rasterCollections.delete":
 
 type RasterCollectionsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a raster collection.
 func (r *RasterCollectionsService) Delete(id string) *RasterCollectionsDeleteCall {
-	c := &RasterCollectionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsDeleteCall) Fields(s ...googleapi.Field) *RasterCollectionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsDeleteCall) Context(ctx context.Context) *RasterCollectionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8195,9 +8497,13 @@
 
 func (c *RasterCollectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8246,25 +8552,24 @@
 // method id "mapsengine.rasterCollections.get":
 
 type RasterCollectionsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular raster collection.
 func (r *RasterCollectionsService) Get(id string) *RasterCollectionsGetCall {
-	c := &RasterCollectionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsGetCall) Fields(s ...googleapi.Field) *RasterCollectionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8274,13 +8579,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsGetCall) IfNoneMatch(entityTag string) *RasterCollectionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsGetCall) Context(ctx context.Context) *RasterCollectionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8288,16 +8593,20 @@
 
 func (c *RasterCollectionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8370,15 +8679,14 @@
 // method id "mapsengine.rasterCollections.list":
 
 type RasterCollectionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all raster collections readable by the current user.
 func (r *RasterCollectionsService) List() *RasterCollectionsListCall {
-	c := &RasterCollectionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -8386,7 +8694,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *RasterCollectionsListCall) Bbox(bbox string) *RasterCollectionsListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -8394,7 +8702,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *RasterCollectionsListCall) CreatedAfter(createdAfter string) *RasterCollectionsListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -8402,7 +8710,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *RasterCollectionsListCall) CreatedBefore(createdBefore string) *RasterCollectionsListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -8410,7 +8718,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *RasterCollectionsListCall) CreatorEmail(creatorEmail string) *RasterCollectionsListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -8418,7 +8726,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *RasterCollectionsListCall) MaxResults(maxResults int64) *RasterCollectionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8426,7 +8734,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *RasterCollectionsListCall) ModifiedAfter(modifiedAfter string) *RasterCollectionsListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -8434,7 +8742,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *RasterCollectionsListCall) ModifiedBefore(modifiedBefore string) *RasterCollectionsListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -8443,7 +8751,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RasterCollectionsListCall) PageToken(pageToken string) *RasterCollectionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -8456,7 +8764,7 @@
 //   "processing" - The raster collection is processing.
 //   "ready" - The raster collection is ready for processing.
 func (c *RasterCollectionsListCall) ProcessingStatus(processingStatus string) *RasterCollectionsListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -8466,7 +8774,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *RasterCollectionsListCall) ProjectId(projectId string) *RasterCollectionsListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -8479,29 +8787,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *RasterCollectionsListCall) Role(role string) *RasterCollectionsListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *RasterCollectionsListCall) Search(search string) *RasterCollectionsListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *RasterCollectionsListCall) Tags(tags string) *RasterCollectionsListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsListCall) Fields(s ...googleapi.Field) *RasterCollectionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8511,13 +8819,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsListCall) IfNoneMatch(entityTag string) *RasterCollectionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsListCall) Context(ctx context.Context) *RasterCollectionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8525,14 +8833,57 @@
 
 func (c *RasterCollectionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8692,29 +9043,29 @@
 	s                *Service
 	id               string
 	rastercollection *RasterCollection
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Patch: Mutate a raster collection asset.
 func (r *RasterCollectionsService) Patch(id string, rastercollection *RasterCollection) *RasterCollectionsPatchCall {
-	c := &RasterCollectionsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.rastercollection = rastercollection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPatchCall) Fields(s ...googleapi.Field) *RasterCollectionsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPatchCall) Context(ctx context.Context) *RasterCollectionsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -8727,9 +9078,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8782,30 +9137,30 @@
 // method id "mapsengine.rasterCollections.process":
 
 type RasterCollectionsProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a raster collection asset.
 func (r *RasterCollectionsService) Process(id string) *RasterCollectionsProcessCall {
-	c := &RasterCollectionsProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsProcessCall) Fields(s ...googleapi.Field) *RasterCollectionsProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsProcessCall) Context(ctx context.Context) *RasterCollectionsProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -8813,9 +9168,13 @@
 
 func (c *RasterCollectionsProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -8891,16 +9250,15 @@
 // method id "mapsengine.rasterCollections.parents.list":
 
 type RasterCollectionsParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified raster collection.
 func (r *RasterCollectionsParentsService) List(id string) *RasterCollectionsParentsListCall {
-	c := &RasterCollectionsParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -8909,7 +9267,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *RasterCollectionsParentsListCall) MaxResults(maxResults int64) *RasterCollectionsParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -8918,15 +9276,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RasterCollectionsParentsListCall) PageToken(pageToken string) *RasterCollectionsParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsParentsListCall) Fields(s ...googleapi.Field) *RasterCollectionsParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8936,13 +9294,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsParentsListCall) IfNoneMatch(entityTag string) *RasterCollectionsParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsParentsListCall) Context(ctx context.Context) *RasterCollectionsParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8950,16 +9308,26 @@
 
 func (c *RasterCollectionsParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9046,30 +9414,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *RasterCollectionsPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *RasterCollectionsPermissionsBatchDeleteCall {
-	c := &RasterCollectionsPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *RasterCollectionsPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPermissionsBatchDeleteCall) Context(ctx context.Context) *RasterCollectionsPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9082,9 +9450,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9167,7 +9539,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -9177,23 +9549,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *RasterCollectionsPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *RasterCollectionsPermissionsBatchUpdateCall {
-	c := &RasterCollectionsPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *RasterCollectionsPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPermissionsBatchUpdateCall) Context(ctx context.Context) *RasterCollectionsPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9206,9 +9578,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9288,25 +9664,24 @@
 // method id "mapsengine.rasterCollections.permissions.list":
 
 type RasterCollectionsPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *RasterCollectionsPermissionsService) List(id string) *RasterCollectionsPermissionsListCall {
-	c := &RasterCollectionsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsPermissionsListCall) Fields(s ...googleapi.Field) *RasterCollectionsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9316,13 +9691,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsPermissionsListCall) IfNoneMatch(entityTag string) *RasterCollectionsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsPermissionsListCall) Context(ctx context.Context) *RasterCollectionsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9330,16 +9705,20 @@
 
 func (c *RasterCollectionsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9415,7 +9794,7 @@
 	s                                         *Service
 	id                                        string
 	rastercollectionsrasterbatchdeleterequest *RasterCollectionsRasterBatchDeleteRequest
-	urlParams_                                internal.URLParams
+	opt_                                      map[string]interface{}
 	ctx_                                      context.Context
 }
 
@@ -9424,23 +9803,23 @@
 // Up to 50 rasters can be included in a single batchDelete request.
 // Each batchDelete request is atomic.
 func (r *RasterCollectionsRastersService) BatchDelete(id string, rastercollectionsrasterbatchdeleterequest *RasterCollectionsRasterBatchDeleteRequest) *RasterCollectionsRastersBatchDeleteCall {
-	c := &RasterCollectionsRastersBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsRastersBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.rastercollectionsrasterbatchdeleterequest = rastercollectionsrasterbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsRastersBatchDeleteCall) Fields(s ...googleapi.Field) *RasterCollectionsRastersBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsRastersBatchDeleteCall) Context(ctx context.Context) *RasterCollectionsRastersBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9453,9 +9832,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/rasters/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9540,7 +9923,7 @@
 	s                                          *Service
 	id                                         string
 	rastercollectionsrastersbatchinsertrequest *RasterCollectionsRastersBatchInsertRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
@@ -9551,23 +9934,23 @@
 // Up to 50 rasters can be included in a single batchInsert request.
 // Each batchInsert request is atomic.
 func (r *RasterCollectionsRastersService) BatchInsert(id string, rastercollectionsrastersbatchinsertrequest *RasterCollectionsRastersBatchInsertRequest) *RasterCollectionsRastersBatchInsertCall {
-	c := &RasterCollectionsRastersBatchInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsRastersBatchInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.rastercollectionsrastersbatchinsertrequest = rastercollectionsrastersbatchinsertrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsRastersBatchInsertCall) Fields(s ...googleapi.Field) *RasterCollectionsRastersBatchInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsRastersBatchInsertCall) Context(ctx context.Context) *RasterCollectionsRastersBatchInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9580,9 +9963,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/rasters/batchInsert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -9664,16 +10051,15 @@
 // method id "mapsengine.rasterCollections.rasters.list":
 
 type RasterCollectionsRastersListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all rasters within a raster collection.
 func (r *RasterCollectionsRastersService) List(id string) *RasterCollectionsRastersListCall {
-	c := &RasterCollectionsRastersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RasterCollectionsRastersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -9682,7 +10068,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *RasterCollectionsRastersListCall) Bbox(bbox string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -9690,7 +10076,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *RasterCollectionsRastersListCall) CreatedAfter(createdAfter string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -9698,7 +10084,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *RasterCollectionsRastersListCall) CreatedBefore(createdBefore string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -9706,7 +10092,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *RasterCollectionsRastersListCall) CreatorEmail(creatorEmail string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -9714,7 +10100,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *RasterCollectionsRastersListCall) MaxResults(maxResults int64) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9722,7 +10108,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *RasterCollectionsRastersListCall) ModifiedAfter(modifiedAfter string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -9730,7 +10116,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *RasterCollectionsRastersListCall) ModifiedBefore(modifiedBefore string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -9739,7 +10125,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RasterCollectionsRastersListCall) PageToken(pageToken string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -9752,29 +10138,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *RasterCollectionsRastersListCall) Role(role string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *RasterCollectionsRastersListCall) Search(search string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *RasterCollectionsRastersListCall) Tags(tags string) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RasterCollectionsRastersListCall) Fields(s ...googleapi.Field) *RasterCollectionsRastersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9784,13 +10170,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RasterCollectionsRastersListCall) IfNoneMatch(entityTag string) *RasterCollectionsRastersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RasterCollectionsRastersListCall) Context(ctx context.Context) *RasterCollectionsRastersListCall {
 	c.ctx_ = ctx
 	return c
@@ -9798,16 +10184,53 @@
 
 func (c *RasterCollectionsRastersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasterCollections/{id}/rasters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9951,30 +10374,30 @@
 // method id "mapsengine.rasters.delete":
 
 type RastersDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a raster.
 func (r *RastersService) Delete(id string) *RastersDeleteCall {
-	c := &RastersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersDeleteCall) Fields(s ...googleapi.Field) *RastersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersDeleteCall) Context(ctx context.Context) *RastersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -9982,9 +10405,13 @@
 
 func (c *RastersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -10033,25 +10460,24 @@
 // method id "mapsengine.rasters.get":
 
 type RastersGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a single raster.
 func (r *RastersService) Get(id string) *RastersGetCall {
-	c := &RastersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersGetCall) Fields(s ...googleapi.Field) *RastersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10061,13 +10487,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersGetCall) IfNoneMatch(entityTag string) *RastersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersGetCall) Context(ctx context.Context) *RastersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -10075,16 +10501,20 @@
 
 func (c *RastersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10157,16 +10587,16 @@
 // method id "mapsengine.rasters.list":
 
 type RastersListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Return all rasters readable by the current user.
 func (r *RastersService) List(projectId string) *RastersListCall {
-	c := &RastersListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectId", projectId)
+	c := &RastersListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectId = projectId
 	return c
 }
 
@@ -10174,7 +10604,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *RastersListCall) Bbox(bbox string) *RastersListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -10182,7 +10612,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *RastersListCall) CreatedAfter(createdAfter string) *RastersListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -10190,7 +10620,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *RastersListCall) CreatedBefore(createdBefore string) *RastersListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -10198,7 +10628,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *RastersListCall) CreatorEmail(creatorEmail string) *RastersListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -10206,7 +10636,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *RastersListCall) MaxResults(maxResults int64) *RastersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10214,7 +10644,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *RastersListCall) ModifiedAfter(modifiedAfter string) *RastersListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -10222,7 +10652,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *RastersListCall) ModifiedBefore(modifiedBefore string) *RastersListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -10231,7 +10661,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RastersListCall) PageToken(pageToken string) *RastersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -10244,7 +10674,7 @@
 //   "processing" - The raster is processing.
 //   "ready" - The raster is ready for processing.
 func (c *RastersListCall) ProcessingStatus(processingStatus string) *RastersListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -10257,29 +10687,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *RastersListCall) Role(role string) *RastersListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *RastersListCall) Search(search string) *RastersListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *RastersListCall) Tags(tags string) *RastersListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersListCall) Fields(s ...googleapi.Field) *RastersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10289,13 +10719,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersListCall) IfNoneMatch(entityTag string) *RastersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersListCall) Context(ctx context.Context) *RastersListCall {
 	c.ctx_ = ctx
 	return c
@@ -10303,14 +10733,55 @@
 
 func (c *RastersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("projectId", fmt.Sprintf("%v", c.projectId))
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10471,32 +10942,32 @@
 // method id "mapsengine.rasters.patch":
 
 type RastersPatchCall struct {
-	s          *Service
-	id         string
-	raster     *Raster
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	raster *Raster
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Patch: Mutate a raster asset.
 func (r *RastersService) Patch(id string, raster *Raster) *RastersPatchCall {
-	c := &RastersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.raster = raster
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPatchCall) Fields(s ...googleapi.Field) *RastersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPatchCall) Context(ctx context.Context) *RastersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -10509,9 +10980,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -10564,30 +11039,30 @@
 // method id "mapsengine.rasters.process":
 
 type RastersProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a raster asset.
 func (r *RastersService) Process(id string) *RastersProcessCall {
-	c := &RastersProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersProcessCall) Fields(s ...googleapi.Field) *RastersProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersProcessCall) Context(ctx context.Context) *RastersProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -10595,9 +11070,13 @@
 
 func (c *RastersProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -10673,30 +11152,30 @@
 // method id "mapsengine.rasters.upload":
 
 type RastersUploadCall struct {
-	s          *Service
-	raster     *Raster
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	raster *Raster
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Upload: Create a skeleton raster asset for upload.
 func (r *RastersService) Upload(raster *Raster) *RastersUploadCall {
-	c := &RastersUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.raster = raster
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersUploadCall) Fields(s ...googleapi.Field) *RastersUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersUploadCall) Context(ctx context.Context) *RastersUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -10709,9 +11188,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/upload")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -10778,39 +11261,39 @@
 // method id "mapsengine.rasters.files.insert":
 
 type RastersFilesInsertCall struct {
-	s                *Service
-	id               string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	id         string
+	filename   string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Upload a file to a raster asset.
 func (r *RastersFilesService) Insert(id string, filename string) *RastersFilesInsertCall {
-	c := &RastersFilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersFilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
-	c.urlParams_.Set("filename", filename)
+	c.filename = filename
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *RastersFilesInsertCall) Media(r io.Reader) *RastersFilesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *RastersFilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *RastersFilesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -10819,28 +11302,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *RastersFilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *RastersFilesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersFilesInsertCall) Fields(s ...googleapi.Field) *RastersFilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *RastersFilesInsertCall) Context(ctx context.Context) *RastersFilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -10848,13 +11330,18 @@
 
 func (c *RastersFilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("filename", fmt.Sprintf("%v", c.filename))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/files")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -10894,6 +11381,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -10903,7 +11396,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -10962,16 +11455,15 @@
 // method id "mapsengine.rasters.parents.list":
 
 type RastersParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified rasters.
 func (r *RastersParentsService) List(id string) *RastersParentsListCall {
-	c := &RastersParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -10980,7 +11472,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *RastersParentsListCall) MaxResults(maxResults int64) *RastersParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10989,15 +11481,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *RastersParentsListCall) PageToken(pageToken string) *RastersParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersParentsListCall) Fields(s ...googleapi.Field) *RastersParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11007,13 +11499,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersParentsListCall) IfNoneMatch(entityTag string) *RastersParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersParentsListCall) Context(ctx context.Context) *RastersParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11021,16 +11513,26 @@
 
 func (c *RastersParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11117,30 +11619,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *RastersPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *RastersPermissionsBatchDeleteCall {
-	c := &RastersPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *RastersPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPermissionsBatchDeleteCall) Context(ctx context.Context) *RastersPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11153,9 +11655,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -11238,7 +11744,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -11248,23 +11754,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *RastersPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *RastersPermissionsBatchUpdateCall {
-	c := &RastersPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *RastersPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPermissionsBatchUpdateCall) Context(ctx context.Context) *RastersPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11277,9 +11783,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -11359,25 +11869,24 @@
 // method id "mapsengine.rasters.permissions.list":
 
 type RastersPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *RastersPermissionsService) List(id string) *RastersPermissionsListCall {
-	c := &RastersPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RastersPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RastersPermissionsListCall) Fields(s ...googleapi.Field) *RastersPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11387,13 +11896,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RastersPermissionsListCall) IfNoneMatch(entityTag string) *RastersPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RastersPermissionsListCall) Context(ctx context.Context) *RastersPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11401,16 +11910,20 @@
 
 func (c *RastersPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "rasters/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11483,30 +11996,30 @@
 // method id "mapsengine.tables.create":
 
 type TablesCreateCall struct {
-	s          *Service
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Create a table asset.
 func (r *TablesService) Create(table *Table) *TablesCreateCall {
-	c := &TablesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesCreateCall) Fields(s ...googleapi.Field) *TablesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesCreateCall) Context(ctx context.Context) *TablesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -11519,9 +12032,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -11588,30 +12105,30 @@
 // method id "mapsengine.tables.delete":
 
 type TablesDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a table.
 func (r *TablesService) Delete(id string) *TablesDeleteCall {
-	c := &TablesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesDeleteCall) Fields(s ...googleapi.Field) *TablesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesDeleteCall) Context(ctx context.Context) *TablesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -11619,9 +12136,13 @@
 
 func (c *TablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -11670,16 +12191,15 @@
 // method id "mapsengine.tables.get":
 
 type TablesGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Return metadata for a particular table, including the schema.
 func (r *TablesService) Get(id string) *TablesGetCall {
-	c := &TablesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -11690,15 +12210,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *TablesGetCall) Version(version string) *TablesGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesGetCall) Fields(s ...googleapi.Field) *TablesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11708,13 +12228,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesGetCall) IfNoneMatch(entityTag string) *TablesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesGetCall) Context(ctx context.Context) *TablesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -11722,16 +12242,23 @@
 
 func (c *TablesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11816,15 +12343,14 @@
 // method id "mapsengine.tables.list":
 
 type TablesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all tables readable by the current user.
 func (r *TablesService) List() *TablesListCall {
-	c := &TablesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -11832,7 +12358,7 @@
 // "west,south,east,north". If set, only assets which intersect this
 // bounding box will be returned.
 func (c *TablesListCall) Bbox(bbox string) *TablesListCall {
-	c.urlParams_.Set("bbox", bbox)
+	c.opt_["bbox"] = bbox
 	return c
 }
 
@@ -11840,7 +12366,7 @@
 // formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or after this time.
 func (c *TablesListCall) CreatedAfter(createdAfter string) *TablesListCall {
-	c.urlParams_.Set("createdAfter", createdAfter)
+	c.opt_["createdAfter"] = createdAfter
 	return c
 }
 
@@ -11848,7 +12374,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been created at or before this time.
 func (c *TablesListCall) CreatedBefore(createdBefore string) *TablesListCall {
-	c.urlParams_.Set("createdBefore", createdBefore)
+	c.opt_["createdBefore"] = createdBefore
 	return c
 }
 
@@ -11856,7 +12382,7 @@
 // address representing a user. Returned assets that have been created
 // by the user associated with the provided email address.
 func (c *TablesListCall) CreatorEmail(creatorEmail string) *TablesListCall {
-	c.urlParams_.Set("creatorEmail", creatorEmail)
+	c.opt_["creatorEmail"] = creatorEmail
 	return c
 }
 
@@ -11864,7 +12390,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 100.
 func (c *TablesListCall) MaxResults(maxResults int64) *TablesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -11872,7 +12398,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or after this time.
 func (c *TablesListCall) ModifiedAfter(modifiedAfter string) *TablesListCall {
-	c.urlParams_.Set("modifiedAfter", modifiedAfter)
+	c.opt_["modifiedAfter"] = modifiedAfter
 	return c
 }
 
@@ -11880,7 +12406,7 @@
 // 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned
 // assets will have been modified at or before this time.
 func (c *TablesListCall) ModifiedBefore(modifiedBefore string) *TablesListCall {
-	c.urlParams_.Set("modifiedBefore", modifiedBefore)
+	c.opt_["modifiedBefore"] = modifiedBefore
 	return c
 }
 
@@ -11889,7 +12415,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *TablesListCall) PageToken(pageToken string) *TablesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -11902,7 +12428,7 @@
 //   "processing" - The table is processing.
 //   "ready" - The table is ready for processing.
 func (c *TablesListCall) ProcessingStatus(processingStatus string) *TablesListCall {
-	c.urlParams_.Set("processingStatus", processingStatus)
+	c.opt_["processingStatus"] = processingStatus
 	return c
 }
 
@@ -11912,7 +12438,7 @@
 // find your project ID as the value of the DashboardPlace:cid URL
 // parameter when signed in to mapsengine.google.com.
 func (c *TablesListCall) ProjectId(projectId string) *TablesListCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
@@ -11925,29 +12451,29 @@
 //   "reader" - The user can read the asset.
 //   "writer" - The user can read and write the asset.
 func (c *TablesListCall) Role(role string) *TablesListCall {
-	c.urlParams_.Set("role", role)
+	c.opt_["role"] = role
 	return c
 }
 
 // Search sets the optional parameter "search": An unstructured search
 // string used to filter the set of results based on asset metadata.
 func (c *TablesListCall) Search(search string) *TablesListCall {
-	c.urlParams_.Set("search", search)
+	c.opt_["search"] = search
 	return c
 }
 
 // Tags sets the optional parameter "tags": A comma separated list of
 // tags. Returned assets will contain all the tags from the list.
 func (c *TablesListCall) Tags(tags string) *TablesListCall {
-	c.urlParams_.Set("tags", tags)
+	c.opt_["tags"] = tags
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesListCall) Fields(s ...googleapi.Field) *TablesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11957,13 +12483,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesListCall) IfNoneMatch(entityTag string) *TablesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesListCall) Context(ctx context.Context) *TablesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11971,14 +12497,57 @@
 
 func (c *TablesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bbox"]; ok {
+		params.Set("bbox", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdAfter"]; ok {
+		params.Set("createdAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["createdBefore"]; ok {
+		params.Set("createdBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["creatorEmail"]; ok {
+		params.Set("creatorEmail", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedAfter"]; ok {
+		params.Set("modifiedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["modifiedBefore"]; ok {
+		params.Set("modifiedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["processingStatus"]; ok {
+		params.Set("processingStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["role"]; ok {
+		params.Set("role", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["search"]; ok {
+		params.Set("search", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tags"]; ok {
+		params.Set("tags", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12135,32 +12704,32 @@
 // method id "mapsengine.tables.patch":
 
 type TablesPatchCall struct {
-	s          *Service
-	id         string
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	id    string
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Patch: Mutate a table asset.
 func (r *TablesService) Patch(id string, table *Table) *TablesPatchCall {
-	c := &TablesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPatchCall) Fields(s ...googleapi.Field) *TablesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPatchCall) Context(ctx context.Context) *TablesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12173,9 +12742,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12228,30 +12801,30 @@
 // method id "mapsengine.tables.process":
 
 type TablesProcessCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Process: Process a table asset.
 func (r *TablesService) Process(id string) *TablesProcessCall {
-	c := &TablesProcessCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesProcessCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesProcessCall) Fields(s ...googleapi.Field) *TablesProcessCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesProcessCall) Context(ctx context.Context) *TablesProcessCall {
 	c.ctx_ = ctx
 	return c
@@ -12259,9 +12832,13 @@
 
 func (c *TablesProcessCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/process")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12337,10 +12914,10 @@
 // method id "mapsengine.tables.upload":
 
 type TablesUploadCall struct {
-	s          *Service
-	table      *Table
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	table *Table
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Upload: Create a placeholder table asset to which table files can be
@@ -12351,22 +12928,22 @@
 // See Table Upload in the Developer's Guide or Table.files: insert in
 // the reference documentation for more information.
 func (r *TablesService) Upload(table *Table) *TablesUploadCall {
-	c := &TablesUploadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesUploadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.table = table
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesUploadCall) Fields(s ...googleapi.Field) *TablesUploadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesUploadCall) Context(ctx context.Context) *TablesUploadCall {
 	c.ctx_ = ctx
 	return c
@@ -12379,9 +12956,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/upload")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -12451,29 +13032,29 @@
 	s                          *Service
 	id                         string
 	featuresbatchdeleterequest *FeaturesBatchDeleteRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // BatchDelete: Delete all features matching the given IDs.
 func (r *TablesFeaturesService) BatchDelete(id string, featuresbatchdeleterequest *FeaturesBatchDeleteRequest) *TablesFeaturesBatchDeleteCall {
-	c := &TablesFeaturesBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.featuresbatchdeleterequest = featuresbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesBatchDeleteCall) Fields(s ...googleapi.Field) *TablesFeaturesBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesBatchDeleteCall) Context(ctx context.Context) *TablesFeaturesBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -12486,9 +13067,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12544,7 +13129,7 @@
 	s                          *Service
 	id                         string
 	featuresbatchinsertrequest *FeaturesBatchInsertRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
@@ -12561,23 +13146,23 @@
 // For more information about inserting features, read Creating features
 // in the Google Maps Engine developer's guide.
 func (r *TablesFeaturesService) BatchInsert(id string, featuresbatchinsertrequest *FeaturesBatchInsertRequest) *TablesFeaturesBatchInsertCall {
-	c := &TablesFeaturesBatchInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesBatchInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.featuresbatchinsertrequest = featuresbatchinsertrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesBatchInsertCall) Fields(s ...googleapi.Field) *TablesFeaturesBatchInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesBatchInsertCall) Context(ctx context.Context) *TablesFeaturesBatchInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12590,9 +13175,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features/batchInsert")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12648,7 +13237,7 @@
 	s                         *Service
 	id                        string
 	featuresbatchpatchrequest *FeaturesBatchPatchRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
@@ -12675,23 +13264,23 @@
 // For more information about updating features, read Updating features
 // in the Google Maps Engine developer's guide.
 func (r *TablesFeaturesService) BatchPatch(id string, featuresbatchpatchrequest *FeaturesBatchPatchRequest) *TablesFeaturesBatchPatchCall {
-	c := &TablesFeaturesBatchPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesBatchPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.featuresbatchpatchrequest = featuresbatchpatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesBatchPatchCall) Fields(s ...googleapi.Field) *TablesFeaturesBatchPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesBatchPatchCall) Context(ctx context.Context) *TablesFeaturesBatchPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -12704,9 +13293,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features/batchPatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -12759,17 +13352,16 @@
 // method id "mapsengine.tables.features.get":
 
 type TablesFeaturesGetCall struct {
-	s            *Service
-	tableId      string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	tableId string
+	id      string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Return a single feature, given its ID.
 func (r *TablesFeaturesService) Get(tableId string, id string) *TablesFeaturesGetCall {
-	c := &TablesFeaturesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tableId = tableId
 	c.id = id
 	return c
@@ -12779,7 +13371,7 @@
 // clause used to specify returned properties. If this parameter is not
 // included, all properties are returned.
 func (c *TablesFeaturesGetCall) Select(select_ string) *TablesFeaturesGetCall {
-	c.urlParams_.Set("select_", select_)
+	c.opt_["select"] = select_
 	return c
 }
 
@@ -12790,15 +13382,15 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *TablesFeaturesGetCall) Version(version string) *TablesFeaturesGetCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesGetCall) Fields(s ...googleapi.Field) *TablesFeaturesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12808,13 +13400,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesFeaturesGetCall) IfNoneMatch(entityTag string) *TablesFeaturesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesGetCall) Context(ctx context.Context) *TablesFeaturesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -12822,17 +13414,27 @@
 
 func (c *TablesFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["select"]; ok {
+		params.Set("select", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/features/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tableId": c.tableId,
 		"id":      c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12930,16 +13532,15 @@
 // method id "mapsengine.tables.features.list":
 
 type TablesFeaturesListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all features readable by the current user.
 func (r *TablesFeaturesService) List(id string) *TablesFeaturesListCall {
-	c := &TablesFeaturesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFeaturesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -12947,14 +13548,14 @@
 // Include sets the optional parameter "include": A comma separated list
 // of optional data to include. Optional data available: schema.
 func (c *TablesFeaturesListCall) Include(include string) *TablesFeaturesListCall {
-	c.urlParams_.Set("include", include)
+	c.opt_["include"] = include
 	return c
 }
 
 // Intersects sets the optional parameter "intersects": A geometry
 // literal that specifies the spatial restriction of the query.
 func (c *TablesFeaturesListCall) Intersects(intersects string) *TablesFeaturesListCall {
-	c.urlParams_.Set("intersects", intersects)
+	c.opt_["intersects"] = intersects
 	return c
 }
 
@@ -12962,7 +13563,7 @@
 // features to return from the query, irrespective of the number of
 // pages.
 func (c *TablesFeaturesListCall) Limit(limit int64) *TablesFeaturesListCall {
-	c.urlParams_.Set("limit", fmt.Sprintf("%v", limit))
+	c.opt_["limit"] = limit
 	return c
 }
 
@@ -12970,7 +13571,7 @@
 // number of items to include in the response, used for paging. The
 // maximum supported value is 1000.
 func (c *TablesFeaturesListCall) MaxResults(maxResults int64) *TablesFeaturesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12978,7 +13579,7 @@
 // clause used to sort results. If this parameter is not included, the
 // order of features is undefined.
 func (c *TablesFeaturesListCall) OrderBy(orderBy string) *TablesFeaturesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -12987,7 +13588,7 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *TablesFeaturesListCall) PageToken(pageToken string) *TablesFeaturesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -12995,7 +13596,7 @@
 // clause used to specify returned properties. If this parameter is not
 // included, all properties are returned.
 func (c *TablesFeaturesListCall) Select(select_ string) *TablesFeaturesListCall {
-	c.urlParams_.Set("select_", select_)
+	c.opt_["select"] = select_
 	return c
 }
 
@@ -13006,22 +13607,22 @@
 //   "draft" - The draft version.
 //   "published" - The published version.
 func (c *TablesFeaturesListCall) Version(version string) *TablesFeaturesListCall {
-	c.urlParams_.Set("version", version)
+	c.opt_["version"] = version
 	return c
 }
 
 // Where sets the optional parameter "where": An SQL-like predicate used
 // to filter results.
 func (c *TablesFeaturesListCall) Where(where string) *TablesFeaturesListCall {
-	c.urlParams_.Set("where", where)
+	c.opt_["where"] = where
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFeaturesListCall) Fields(s ...googleapi.Field) *TablesFeaturesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13031,13 +13632,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesFeaturesListCall) IfNoneMatch(entityTag string) *TablesFeaturesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesFeaturesListCall) Context(ctx context.Context) *TablesFeaturesListCall {
 	c.ctx_ = ctx
 	return c
@@ -13045,16 +13646,47 @@
 
 func (c *TablesFeaturesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["include"]; ok {
+		params.Set("include", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["intersects"]; ok {
+		params.Set("intersects", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["limit"]; ok {
+		params.Set("limit", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["select"]; ok {
+		params.Set("select", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["version"]; ok {
+		params.Set("version", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["where"]; ok {
+		params.Set("where", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/features")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13182,15 +13814,15 @@
 // method id "mapsengine.tables.files.insert":
 
 type TablesFilesInsertCall struct {
-	s                *Service
-	id               string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	id         string
+	filename   string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Upload a file to a placeholder table asset. See Table Upload
@@ -13198,26 +13830,26 @@
 // Supported file types are listed in the Supported data formats and
 // limits article of the Google Maps Engine help center.
 func (r *TablesFilesService) Insert(id string, filename string) *TablesFilesInsertCall {
-	c := &TablesFilesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesFilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
-	c.urlParams_.Set("filename", filename)
+	c.filename = filename
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TablesFilesInsertCall) Media(r io.Reader) *TablesFilesInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TablesFilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TablesFilesInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -13226,28 +13858,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TablesFilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TablesFilesInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesFilesInsertCall) Fields(s ...googleapi.Field) *TablesFilesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TablesFilesInsertCall) Context(ctx context.Context) *TablesFilesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13255,13 +13886,18 @@
 
 func (c *TablesFilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("filename", fmt.Sprintf("%v", c.filename))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/files")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -13301,6 +13937,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -13310,7 +13952,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -13369,16 +14011,15 @@
 // method id "mapsengine.tables.parents.list":
 
 type TablesParentsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all parent ids of the specified table.
 func (r *TablesParentsService) List(id string) *TablesParentsListCall {
-	c := &TablesParentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesParentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -13387,7 +14028,7 @@
 // number of items to include in a single response page. The maximum
 // supported value is 50.
 func (c *TablesParentsListCall) MaxResults(maxResults int64) *TablesParentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13396,15 +14037,15 @@
 // of results, set this parameter to the value of nextPageToken from the
 // previous response.
 func (c *TablesParentsListCall) PageToken(pageToken string) *TablesParentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesParentsListCall) Fields(s ...googleapi.Field) *TablesParentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13414,13 +14055,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesParentsListCall) IfNoneMatch(entityTag string) *TablesParentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesParentsListCall) Context(ctx context.Context) *TablesParentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13428,16 +14069,26 @@
 
 func (c *TablesParentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/parents")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13524,30 +14175,30 @@
 	s                             *Service
 	id                            string
 	permissionsbatchdeleterequest *PermissionsBatchDeleteRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // BatchDelete: Remove permission entries from an already existing
 // asset.
 func (r *TablesPermissionsService) BatchDelete(id string, permissionsbatchdeleterequest *PermissionsBatchDeleteRequest) *TablesPermissionsBatchDeleteCall {
-	c := &TablesPermissionsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPermissionsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchdeleterequest = permissionsbatchdeleterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPermissionsBatchDeleteCall) Fields(s ...googleapi.Field) *TablesPermissionsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPermissionsBatchDeleteCall) Context(ctx context.Context) *TablesPermissionsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13560,9 +14211,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/permissions/batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -13645,7 +14300,7 @@
 	s                             *Service
 	id                            string
 	permissionsbatchupdaterequest *PermissionsBatchUpdateRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
@@ -13655,23 +14310,23 @@
 // An asset can hold up to 20 different permission entries. Each
 // batchInsert request is atomic.
 func (r *TablesPermissionsService) BatchUpdate(id string, permissionsbatchupdaterequest *PermissionsBatchUpdateRequest) *TablesPermissionsBatchUpdateCall {
-	c := &TablesPermissionsBatchUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPermissionsBatchUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.permissionsbatchupdaterequest = permissionsbatchupdaterequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPermissionsBatchUpdateCall) Fields(s ...googleapi.Field) *TablesPermissionsBatchUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPermissionsBatchUpdateCall) Context(ctx context.Context) *TablesPermissionsBatchUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13684,9 +14339,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/permissions/batchUpdate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -13766,25 +14425,24 @@
 // method id "mapsengine.tables.permissions.list":
 
 type TablesPermissionsListCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Return all of the permissions for the specified asset.
 func (r *TablesPermissionsService) List(id string) *TablesPermissionsListCall {
-	c := &TablesPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TablesPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TablesPermissionsListCall) Fields(s ...googleapi.Field) *TablesPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13794,13 +14452,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TablesPermissionsListCall) IfNoneMatch(entityTag string) *TablesPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TablesPermissionsListCall) Context(ctx context.Context) *TablesPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13808,16 +14466,20 @@
 
 func (c *TablesPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{id}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/mirror/v1/mirror-gen.go b/mirror/v1/mirror-gen.go
index 402db61..f62dc94 100644
--- a/mirror/v1/mirror-gen.go
+++ b/mirror/v1/mirror-gen.go
@@ -1078,13 +1078,13 @@
 	accountType string
 	accountName string
 	account     *Account
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Insert: Inserts a new account for a user
 func (r *AccountsService) Insert(userToken string, accountType string, accountName string, account *Account) *AccountsInsertCall {
-	c := &AccountsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userToken = userToken
 	c.accountType = accountType
 	c.accountName = accountName
@@ -1092,17 +1092,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsInsertCall) Fields(s ...googleapi.Field) *AccountsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsInsertCall) Context(ctx context.Context) *AccountsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1115,9 +1115,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{userToken}/{accountType}/{accountName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userToken":   c.userToken,
@@ -1210,30 +1214,30 @@
 // method id "mirror.contacts.delete":
 
 type ContactsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a contact.
 func (r *ContactsService) Delete(id string) *ContactsDeleteCall {
-	c := &ContactsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContactsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContactsDeleteCall) Fields(s ...googleapi.Field) *ContactsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContactsDeleteCall) Context(ctx context.Context) *ContactsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1241,9 +1245,13 @@
 
 func (c *ContactsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1292,25 +1300,24 @@
 // method id "mirror.contacts.get":
 
 type ContactsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets a single contact by ID.
 func (r *ContactsService) Get(id string) *ContactsGetCall {
-	c := &ContactsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContactsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContactsGetCall) Fields(s ...googleapi.Field) *ContactsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1320,13 +1327,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContactsGetCall) IfNoneMatch(entityTag string) *ContactsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContactsGetCall) Context(ctx context.Context) *ContactsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1334,16 +1341,20 @@
 
 func (c *ContactsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1415,30 +1426,30 @@
 // method id "mirror.contacts.insert":
 
 type ContactsInsertCall struct {
-	s          *Service
-	contact    *Contact
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	contact *Contact
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Inserts a new contact.
 func (r *ContactsService) Insert(contact *Contact) *ContactsInsertCall {
-	c := &ContactsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContactsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.contact = contact
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContactsInsertCall) Fields(s ...googleapi.Field) *ContactsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContactsInsertCall) Context(ctx context.Context) *ContactsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1451,9 +1462,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "contacts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1520,23 +1535,22 @@
 // method id "mirror.contacts.list":
 
 type ContactsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of contacts for the authenticated user.
 func (r *ContactsService) List() *ContactsListCall {
-	c := &ContactsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContactsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContactsListCall) Fields(s ...googleapi.Field) *ContactsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1546,13 +1560,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ContactsListCall) IfNoneMatch(entityTag string) *ContactsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContactsListCall) Context(ctx context.Context) *ContactsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1560,14 +1574,18 @@
 
 func (c *ContactsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "contacts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1628,33 +1646,33 @@
 // method id "mirror.contacts.patch":
 
 type ContactsPatchCall struct {
-	s          *Service
-	id         string
-	contact    *Contact
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      string
+	contact *Contact
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates a contact in place. This method supports patch
 // semantics.
 func (r *ContactsService) Patch(id string, contact *Contact) *ContactsPatchCall {
-	c := &ContactsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContactsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.contact = contact
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContactsPatchCall) Fields(s ...googleapi.Field) *ContactsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContactsPatchCall) Context(ctx context.Context) *ContactsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1667,9 +1685,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1749,32 +1771,32 @@
 // method id "mirror.contacts.update":
 
 type ContactsUpdateCall struct {
-	s          *Service
-	id         string
-	contact    *Contact
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	id      string
+	contact *Contact
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a contact in place.
 func (r *ContactsService) Update(id string, contact *Contact) *ContactsUpdateCall {
-	c := &ContactsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ContactsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.contact = contact
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ContactsUpdateCall) Fields(s ...googleapi.Field) *ContactsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ContactsUpdateCall) Context(ctx context.Context) *ContactsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1787,9 +1809,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1869,25 +1895,24 @@
 // method id "mirror.locations.get":
 
 type LocationsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets a single location by ID.
 func (r *LocationsService) Get(id string) *LocationsGetCall {
-	c := &LocationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LocationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LocationsGetCall) Fields(s ...googleapi.Field) *LocationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1897,13 +1922,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LocationsGetCall) IfNoneMatch(entityTag string) *LocationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LocationsGetCall) Context(ctx context.Context) *LocationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1911,16 +1936,20 @@
 
 func (c *LocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "locations/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1993,23 +2022,22 @@
 // method id "mirror.locations.list":
 
 type LocationsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of locations for the user.
 func (r *LocationsService) List() *LocationsListCall {
-	c := &LocationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LocationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LocationsListCall) Fields(s ...googleapi.Field) *LocationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2019,13 +2047,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LocationsListCall) IfNoneMatch(entityTag string) *LocationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LocationsListCall) Context(ctx context.Context) *LocationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2033,14 +2061,18 @@
 
 func (c *LocationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "locations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2102,25 +2134,24 @@
 // method id "mirror.settings.get":
 
 type SettingsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets a single setting by ID.
 func (r *SettingsService) Get(id string) *SettingsGetCall {
-	c := &SettingsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SettingsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SettingsGetCall) Fields(s ...googleapi.Field) *SettingsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2130,13 +2161,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SettingsGetCall) IfNoneMatch(entityTag string) *SettingsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SettingsGetCall) Context(ctx context.Context) *SettingsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2144,16 +2175,20 @@
 
 func (c *SettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "settings/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2225,30 +2260,30 @@
 // method id "mirror.subscriptions.delete":
 
 type SubscriptionsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a subscription.
 func (r *SubscriptionsService) Delete(id string) *SubscriptionsDeleteCall {
-	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2256,9 +2291,13 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -2309,28 +2348,28 @@
 type SubscriptionsInsertCall struct {
 	s            *Service
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Creates a new subscription.
 func (r *SubscriptionsService) Insert(subscription *Subscription) *SubscriptionsInsertCall {
-	c := &SubscriptionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsInsertCall) Fields(s ...googleapi.Field) *SubscriptionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsInsertCall) Context(ctx context.Context) *SubscriptionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2343,9 +2382,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2412,24 +2455,23 @@
 // method id "mirror.subscriptions.list":
 
 type SubscriptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of subscriptions for the authenticated user
 // and service.
 func (r *SubscriptionsService) List() *SubscriptionsListCall {
-	c := &SubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2439,13 +2481,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2453,14 +2495,18 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2524,29 +2570,29 @@
 	s            *Service
 	id           string
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates an existing subscription in place.
 func (r *SubscriptionsService) Update(id string, subscription *Subscription) *SubscriptionsUpdateCall {
-	c := &SubscriptionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsUpdateCall) Fields(s ...googleapi.Field) *SubscriptionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsUpdateCall) Context(ctx context.Context) *SubscriptionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2559,9 +2605,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -2641,30 +2691,30 @@
 // method id "mirror.timeline.delete":
 
 type TimelineDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a timeline item.
 func (r *TimelineService) Delete(id string) *TimelineDeleteCall {
-	c := &TimelineDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineDeleteCall) Fields(s ...googleapi.Field) *TimelineDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelineDeleteCall) Context(ctx context.Context) *TimelineDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2672,9 +2722,13 @@
 
 func (c *TimelineDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -2724,25 +2778,24 @@
 // method id "mirror.timeline.get":
 
 type TimelineGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets a single timeline item by ID.
 func (r *TimelineService) Get(id string) *TimelineGetCall {
-	c := &TimelineGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineGetCall) Fields(s ...googleapi.Field) *TimelineGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2752,13 +2805,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TimelineGetCall) IfNoneMatch(entityTag string) *TimelineGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelineGetCall) Context(ctx context.Context) *TimelineGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2766,16 +2819,20 @@
 
 func (c *TimelineGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2848,38 +2905,37 @@
 // method id "mirror.timeline.insert":
 
 type TimelineInsertCall struct {
-	s                *Service
-	timelineitem     *TimelineItem
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s            *Service
+	timelineitem *TimelineItem
+	opt_         map[string]interface{}
+	media_       io.Reader
+	resumable_   googleapi.SizeReaderAt
+	mediaType_   string
+	protocol_    string
+	ctx_         context.Context
 }
 
 // Insert: Inserts a new item into the timeline.
 func (r *TimelineService) Insert(timelineitem *TimelineItem) *TimelineInsertCall {
-	c := &TimelineInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.timelineitem = timelineitem
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TimelineInsertCall) Media(r io.Reader) *TimelineInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TimelineInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -2888,28 +2944,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TimelineInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineInsertCall) Fields(s ...googleapi.Field) *TimelineInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TimelineInsertCall) Context(ctx context.Context) *TimelineInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2922,13 +2977,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -2979,6 +3038,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -2988,7 +3053,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3047,36 +3112,35 @@
 // method id "mirror.timeline.list":
 
 type TimelineListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of timeline items for the authenticated user.
 func (r *TimelineService) List() *TimelineListCall {
-	c := &TimelineListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // BundleId sets the optional parameter "bundleId": If provided, only
 // items with the given bundleId will be returned.
 func (c *TimelineListCall) BundleId(bundleId string) *TimelineListCall {
-	c.urlParams_.Set("bundleId", bundleId)
+	c.opt_["bundleId"] = bundleId
 	return c
 }
 
 // IncludeDeleted sets the optional parameter "includeDeleted": If true,
 // tombstone records for deleted items will be returned.
 func (c *TimelineListCall) IncludeDeleted(includeDeleted bool) *TimelineListCall {
-	c.urlParams_.Set("includeDeleted", fmt.Sprintf("%v", includeDeleted))
+	c.opt_["includeDeleted"] = includeDeleted
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of items to include in the response, used for paging.
 func (c *TimelineListCall) MaxResults(maxResults int64) *TimelineListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3089,36 +3153,36 @@
 //   "writeTime" - Results will be ordered by the time at which they
 // were last written to the data store.
 func (c *TimelineListCall) OrderBy(orderBy string) *TimelineListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token for the page
 // of results to return.
 func (c *TimelineListCall) PageToken(pageToken string) *TimelineListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PinnedOnly sets the optional parameter "pinnedOnly": If true, only
 // pinned items will be returned.
 func (c *TimelineListCall) PinnedOnly(pinnedOnly bool) *TimelineListCall {
-	c.urlParams_.Set("pinnedOnly", fmt.Sprintf("%v", pinnedOnly))
+	c.opt_["pinnedOnly"] = pinnedOnly
 	return c
 }
 
 // SourceItemId sets the optional parameter "sourceItemId": If provided,
 // only items with the given sourceItemId will be returned.
 func (c *TimelineListCall) SourceItemId(sourceItemId string) *TimelineListCall {
-	c.urlParams_.Set("sourceItemId", sourceItemId)
+	c.opt_["sourceItemId"] = sourceItemId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineListCall) Fields(s ...googleapi.Field) *TimelineListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3128,13 +3192,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TimelineListCall) IfNoneMatch(entityTag string) *TimelineListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelineListCall) Context(ctx context.Context) *TimelineListCall {
 	c.ctx_ = ctx
 	return c
@@ -3142,14 +3206,39 @@
 
 func (c *TimelineListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["bundleId"]; ok {
+		params.Set("bundleId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["includeDeleted"]; ok {
+		params.Set("includeDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pinnedOnly"]; ok {
+		params.Set("pinnedOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sourceItemId"]; ok {
+		params.Set("sourceItemId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3260,30 +3349,30 @@
 	s            *Service
 	id           string
 	timelineitem *TimelineItem
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Patch: Updates a timeline item in place. This method supports patch
 // semantics.
 func (r *TimelineService) Patch(id string, timelineitem *TimelineItem) *TimelinePatchCall {
-	c := &TimelinePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelinePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.timelineitem = timelineitem
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelinePatchCall) Fields(s ...googleapi.Field) *TimelinePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelinePatchCall) Context(ctx context.Context) *TimelinePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3296,9 +3385,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -3379,40 +3472,39 @@
 // method id "mirror.timeline.update":
 
 type TimelineUpdateCall struct {
-	s                *Service
-	id               string
-	timelineitem     *TimelineItem
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s            *Service
+	id           string
+	timelineitem *TimelineItem
+	opt_         map[string]interface{}
+	media_       io.Reader
+	resumable_   googleapi.SizeReaderAt
+	mediaType_   string
+	protocol_    string
+	ctx_         context.Context
 }
 
 // Update: Updates a timeline item in place.
 func (r *TimelineService) Update(id string, timelineitem *TimelineItem) *TimelineUpdateCall {
-	c := &TimelineUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.timelineitem = timelineitem
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TimelineUpdateCall) Media(r io.Reader) *TimelineUpdateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TimelineUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineUpdateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3421,28 +3513,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TimelineUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineUpdateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineUpdateCall) Fields(s ...googleapi.Field) *TimelineUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TimelineUpdateCall) Context(ctx context.Context) *TimelineUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3455,13 +3546,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -3514,6 +3609,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3523,7 +3624,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3596,29 +3697,29 @@
 	s            *Service
 	itemId       string
 	attachmentId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Deletes an attachment from a timeline item.
 func (r *TimelineAttachmentsService) Delete(itemId string, attachmentId string) *TimelineAttachmentsDeleteCall {
-	c := &TimelineAttachmentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineAttachmentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.itemId = itemId
 	c.attachmentId = attachmentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineAttachmentsDeleteCall) Fields(s ...googleapi.Field) *TimelineAttachmentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelineAttachmentsDeleteCall) Context(ctx context.Context) *TimelineAttachmentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3626,9 +3727,13 @@
 
 func (c *TimelineAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments/{attachmentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"itemId":       c.itemId,
@@ -3688,25 +3793,24 @@
 	s            *Service
 	itemId       string
 	attachmentId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Retrieves an attachment on a timeline item by item ID and
 // attachment ID.
 func (r *TimelineAttachmentsService) Get(itemId string, attachmentId string) *TimelineAttachmentsGetCall {
-	c := &TimelineAttachmentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineAttachmentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.itemId = itemId
 	c.attachmentId = attachmentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineAttachmentsGetCall) Fields(s ...googleapi.Field) *TimelineAttachmentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3716,13 +3820,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TimelineAttachmentsGetCall) IfNoneMatch(entityTag string) *TimelineAttachmentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelineAttachmentsGetCall) Context(ctx context.Context) *TimelineAttachmentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3730,17 +3834,21 @@
 
 func (c *TimelineAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments/{attachmentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"itemId":       c.itemId,
 		"attachmentId": c.attachmentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3835,38 +3943,37 @@
 // method id "mirror.timeline.attachments.insert":
 
 type TimelineAttachmentsInsertCall struct {
-	s                *Service
-	itemId           string
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	itemId     string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Adds a new attachment to a timeline item.
 func (r *TimelineAttachmentsService) Insert(itemId string) *TimelineAttachmentsInsertCall {
-	c := &TimelineAttachmentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineAttachmentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.itemId = itemId
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *TimelineAttachmentsInsertCall) Media(r io.Reader) *TimelineAttachmentsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *TimelineAttachmentsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineAttachmentsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3875,28 +3982,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *TimelineAttachmentsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineAttachmentsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineAttachmentsInsertCall) Fields(s ...googleapi.Field) *TimelineAttachmentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *TimelineAttachmentsInsertCall) Context(ctx context.Context) *TimelineAttachmentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3904,13 +4010,17 @@
 
 func (c *TimelineAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -3965,6 +4075,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3974,7 +4090,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -4040,25 +4156,24 @@
 // method id "mirror.timeline.attachments.list":
 
 type TimelineAttachmentsListCall struct {
-	s            *Service
-	itemId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	itemId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Returns a list of attachments for a timeline item.
 func (r *TimelineAttachmentsService) List(itemId string) *TimelineAttachmentsListCall {
-	c := &TimelineAttachmentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TimelineAttachmentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.itemId = itemId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TimelineAttachmentsListCall) Fields(s ...googleapi.Field) *TimelineAttachmentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4068,13 +4183,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TimelineAttachmentsListCall) IfNoneMatch(entityTag string) *TimelineAttachmentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TimelineAttachmentsListCall) Context(ctx context.Context) *TimelineAttachmentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4082,16 +4197,20 @@
 
 func (c *TimelineAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"itemId": c.itemId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/oauth2/v1/oauth2-gen.go b/oauth2/v1/oauth2-gen.go
index 1f2125e..43beb4b 100644
--- a/oauth2/v1/oauth2-gen.go
+++ b/oauth2/v1/oauth2-gen.go
@@ -335,23 +335,22 @@
 // method id "oauth2.getCertForOpenIdConnect":
 
 type GetCertForOpenIdConnectCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetCertForOpenIdConnect:
 func (s *Service) GetCertForOpenIdConnect() *GetCertForOpenIdConnectCall {
-	c := &GetCertForOpenIdConnectCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &GetCertForOpenIdConnectCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GetCertForOpenIdConnectCall) Fields(s ...googleapi.Field) *GetCertForOpenIdConnectCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -361,13 +360,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GetCertForOpenIdConnectCall) IfNoneMatch(entityTag string) *GetCertForOpenIdConnectCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GetCertForOpenIdConnectCall) Context(ctx context.Context) *GetCertForOpenIdConnectCall {
 	c.ctx_ = ctx
 	return c
@@ -375,14 +374,18 @@
 
 func (c *GetCertForOpenIdConnectCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v1/certs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -419,23 +422,22 @@
 // method id "oauth2.getCertForOpenIdConnectRaw":
 
 type GetCertForOpenIdConnectRawCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetCertForOpenIdConnectRaw:
 func (s *Service) GetCertForOpenIdConnectRaw() *GetCertForOpenIdConnectRawCall {
-	c := &GetCertForOpenIdConnectRawCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &GetCertForOpenIdConnectRawCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GetCertForOpenIdConnectRawCall) Fields(s ...googleapi.Field) *GetCertForOpenIdConnectRawCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -445,13 +447,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GetCertForOpenIdConnectRawCall) IfNoneMatch(entityTag string) *GetCertForOpenIdConnectRawCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GetCertForOpenIdConnectRawCall) Context(ctx context.Context) *GetCertForOpenIdConnectRawCall {
 	c.ctx_ = ctx
 	return c
@@ -459,14 +461,18 @@
 
 func (c *GetCertForOpenIdConnectRawCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v1/raw_public_keys")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -523,25 +529,24 @@
 // method id "oauth2.getRobotJwk":
 
 type GetRobotJwkCall struct {
-	s            *Service
-	robotEmail   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	robotEmail string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetRobotJwk:
 func (s *Service) GetRobotJwk(robotEmail string) *GetRobotJwkCall {
-	c := &GetRobotJwkCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &GetRobotJwkCall{s: s, opt_: make(map[string]interface{})}
 	c.robotEmail = robotEmail
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GetRobotJwkCall) Fields(s ...googleapi.Field) *GetRobotJwkCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -551,13 +556,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GetRobotJwkCall) IfNoneMatch(entityTag string) *GetRobotJwkCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GetRobotJwkCall) Context(ctx context.Context) *GetRobotJwkCall {
 	c.ctx_ = ctx
 	return c
@@ -565,16 +570,20 @@
 
 func (c *GetRobotJwkCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "service_accounts/v1/jwk/{robotEmail}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"robotEmail": c.robotEmail,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -642,25 +651,24 @@
 // method id "oauth2.getRobotMetadataRaw":
 
 type GetRobotMetadataRawCall struct {
-	s            *Service
-	robotEmail   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	robotEmail string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetRobotMetadataRaw:
 func (s *Service) GetRobotMetadataRaw(robotEmail string) *GetRobotMetadataRawCall {
-	c := &GetRobotMetadataRawCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &GetRobotMetadataRawCall{s: s, opt_: make(map[string]interface{})}
 	c.robotEmail = robotEmail
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GetRobotMetadataRawCall) Fields(s ...googleapi.Field) *GetRobotMetadataRawCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -670,13 +678,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GetRobotMetadataRawCall) IfNoneMatch(entityTag string) *GetRobotMetadataRawCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GetRobotMetadataRawCall) Context(ctx context.Context) *GetRobotMetadataRawCall {
 	c.ctx_ = ctx
 	return c
@@ -684,16 +692,20 @@
 
 func (c *GetRobotMetadataRawCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "service_accounts/v1/metadata/raw/{robotEmail}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"robotEmail": c.robotEmail,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -761,25 +773,24 @@
 // method id "oauth2.getRobotMetadataX509":
 
 type GetRobotMetadataX509Call struct {
-	s            *Service
-	robotEmail   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	robotEmail string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // GetRobotMetadataX509:
 func (s *Service) GetRobotMetadataX509(robotEmail string) *GetRobotMetadataX509Call {
-	c := &GetRobotMetadataX509Call{s: s, urlParams_: make(internal.URLParams)}
+	c := &GetRobotMetadataX509Call{s: s, opt_: make(map[string]interface{})}
 	c.robotEmail = robotEmail
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GetRobotMetadataX509Call) Fields(s ...googleapi.Field) *GetRobotMetadataX509Call {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -789,13 +800,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GetRobotMetadataX509Call) IfNoneMatch(entityTag string) *GetRobotMetadataX509Call {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GetRobotMetadataX509Call) Context(ctx context.Context) *GetRobotMetadataX509Call {
 	c.ctx_ = ctx
 	return c
@@ -803,16 +814,20 @@
 
 func (c *GetRobotMetadataX509Call) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "service_accounts/v1/metadata/x509/{robotEmail}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"robotEmail": c.robotEmail,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -860,41 +875,41 @@
 // method id "oauth2.tokeninfo":
 
 type TokeninfoCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Tokeninfo: Get token info
 func (s *Service) Tokeninfo() *TokeninfoCall {
-	c := &TokeninfoCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &TokeninfoCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AccessToken sets the optional parameter "access_token": The oauth2
 // access token
 func (c *TokeninfoCall) AccessToken(accessToken string) *TokeninfoCall {
-	c.urlParams_.Set("accessToken", accessToken)
+	c.opt_["access_token"] = accessToken
 	return c
 }
 
 // IdToken sets the optional parameter "id_token": The ID token
 func (c *TokeninfoCall) IdToken(idToken string) *TokeninfoCall {
-	c.urlParams_.Set("idToken", idToken)
+	c.opt_["id_token"] = idToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TokeninfoCall) Fields(s ...googleapi.Field) *TokeninfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TokeninfoCall) Context(ctx context.Context) *TokeninfoCall {
 	c.ctx_ = ctx
 	return c
@@ -902,9 +917,19 @@
 
 func (c *TokeninfoCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["access_token"]; ok {
+		params.Set("access_token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id_token"]; ok {
+		params.Set("id_token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v1/tokeninfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -976,23 +1001,22 @@
 // method id "oauth2.userinfo.get":
 
 type UserinfoGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Get user info
 func (r *UserinfoService) Get() *UserinfoGetCall {
-	c := &UserinfoGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserinfoGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserinfoGetCall) Fields(s ...googleapi.Field) *UserinfoGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1002,13 +1026,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserinfoGetCall) IfNoneMatch(entityTag string) *UserinfoGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserinfoGetCall) Context(ctx context.Context) *UserinfoGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1016,14 +1040,18 @@
 
 func (c *UserinfoGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v1/userinfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1087,23 +1115,22 @@
 // method id "oauth2.userinfo.v2.me.get":
 
 type UserinfoV2MeGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Get user info
 func (r *UserinfoV2MeService) Get() *UserinfoV2MeGetCall {
-	c := &UserinfoV2MeGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserinfoV2MeGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserinfoV2MeGetCall) Fields(s ...googleapi.Field) *UserinfoV2MeGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1113,13 +1140,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserinfoV2MeGetCall) IfNoneMatch(entityTag string) *UserinfoV2MeGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserinfoV2MeGetCall) Context(ctx context.Context) *UserinfoV2MeGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1127,14 +1154,18 @@
 
 func (c *UserinfoV2MeGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userinfo/v2/me")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/oauth2/v2/oauth2-gen.go b/oauth2/v2/oauth2-gen.go
index 51fb8fa..075ec0c 100644
--- a/oauth2/v2/oauth2-gen.go
+++ b/oauth2/v2/oauth2-gen.go
@@ -279,23 +279,22 @@
 // method id "oauth2.getCertForOpenIdConnect":
 
 type GetCertForOpenIdConnectCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetCertForOpenIdConnect:
 func (s *Service) GetCertForOpenIdConnect() *GetCertForOpenIdConnectCall {
-	c := &GetCertForOpenIdConnectCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &GetCertForOpenIdConnectCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GetCertForOpenIdConnectCall) Fields(s ...googleapi.Field) *GetCertForOpenIdConnectCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -305,13 +304,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GetCertForOpenIdConnectCall) IfNoneMatch(entityTag string) *GetCertForOpenIdConnectCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GetCertForOpenIdConnectCall) Context(ctx context.Context) *GetCertForOpenIdConnectCall {
 	c.ctx_ = ctx
 	return c
@@ -319,14 +318,18 @@
 
 func (c *GetCertForOpenIdConnectCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v2/certs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -383,46 +386,46 @@
 // method id "oauth2.tokeninfo":
 
 type TokeninfoCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Tokeninfo:
 func (s *Service) Tokeninfo() *TokeninfoCall {
-	c := &TokeninfoCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &TokeninfoCall{s: s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // AccessToken sets the optional parameter "access_token":
 func (c *TokeninfoCall) AccessToken(accessToken string) *TokeninfoCall {
-	c.urlParams_.Set("accessToken", accessToken)
+	c.opt_["access_token"] = accessToken
 	return c
 }
 
 // IdToken sets the optional parameter "id_token":
 func (c *TokeninfoCall) IdToken(idToken string) *TokeninfoCall {
-	c.urlParams_.Set("idToken", idToken)
+	c.opt_["id_token"] = idToken
 	return c
 }
 
 // TokenHandle sets the optional parameter "token_handle":
 func (c *TokeninfoCall) TokenHandle(tokenHandle string) *TokeninfoCall {
-	c.urlParams_.Set("tokenHandle", tokenHandle)
+	c.opt_["token_handle"] = tokenHandle
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TokeninfoCall) Fields(s ...googleapi.Field) *TokeninfoCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TokeninfoCall) Context(ctx context.Context) *TokeninfoCall {
 	c.ctx_ = ctx
 	return c
@@ -430,9 +433,22 @@
 
 func (c *TokeninfoCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["access_token"]; ok {
+		params.Set("access_token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id_token"]; ok {
+		params.Set("id_token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["token_handle"]; ok {
+		params.Set("token_handle", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v2/tokeninfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -505,23 +521,22 @@
 // method id "oauth2.userinfo.get":
 
 type UserinfoGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get:
 func (r *UserinfoService) Get() *UserinfoGetCall {
-	c := &UserinfoGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserinfoGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserinfoGetCall) Fields(s ...googleapi.Field) *UserinfoGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -531,13 +546,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserinfoGetCall) IfNoneMatch(entityTag string) *UserinfoGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserinfoGetCall) Context(ctx context.Context) *UserinfoGetCall {
 	c.ctx_ = ctx
 	return c
@@ -545,14 +560,18 @@
 
 func (c *UserinfoGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "oauth2/v2/userinfo")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -615,23 +634,22 @@
 // method id "oauth2.userinfo.v2.me.get":
 
 type UserinfoV2MeGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get:
 func (r *UserinfoV2MeService) Get() *UserinfoV2MeGetCall {
-	c := &UserinfoV2MeGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserinfoV2MeGetCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserinfoV2MeGetCall) Fields(s ...googleapi.Field) *UserinfoV2MeGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -641,13 +659,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserinfoV2MeGetCall) IfNoneMatch(entityTag string) *UserinfoV2MeGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserinfoV2MeGetCall) Context(ctx context.Context) *UserinfoV2MeGetCall {
 	c.ctx_ = ctx
 	return c
@@ -655,14 +673,18 @@
 
 func (c *UserinfoV2MeGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "userinfo/v2/me")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/pagespeedonline/v1/pagespeedonline-gen.go b/pagespeedonline/v1/pagespeedonline-gen.go
index 7c6eba9..d6fe81d 100644
--- a/pagespeedonline/v1/pagespeedonline-gen.go
+++ b/pagespeedonline/v1/pagespeedonline-gen.go
@@ -291,18 +291,18 @@
 // method id "pagespeedonline.pagespeedapi.runpagespeed":
 
 type PagespeedapiRunpagespeedCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	url  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Runpagespeed: Runs PageSpeed analysis on the page at the specified
 // URL, and returns a PageSpeed score, a list of suggestions to make
 // that page faster, and other information.
 func (r *PagespeedapiService) Runpagespeed(url string) *PagespeedapiRunpagespeedCall {
-	c := &PagespeedapiRunpagespeedCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("url", url)
+	c := &PagespeedapiRunpagespeedCall{s: r.s, opt_: make(map[string]interface{})}
+	c.url = url
 	return c
 }
 
@@ -310,28 +310,28 @@
 // "filter_third_party_resources": Indicates if third party resources
 // should be filtered out before PageSpeed analysis.
 func (c *PagespeedapiRunpagespeedCall) FilterThirdPartyResources(filterThirdPartyResources bool) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("filterThirdPartyResources", fmt.Sprintf("%v", filterThirdPartyResources))
+	c.opt_["filter_third_party_resources"] = filterThirdPartyResources
 	return c
 }
 
 // Locale sets the optional parameter "locale": The locale used to
 // localize formatted results
 func (c *PagespeedapiRunpagespeedCall) Locale(locale string) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // Rule sets the optional parameter "rule": A PageSpeed rule to run; if
 // none are given, all rules are run
-func (c *PagespeedapiRunpagespeedCall) Rule(rule []string) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.SetMulti("rule", append([]string{}, rule...))
+func (c *PagespeedapiRunpagespeedCall) Rule(rule string) *PagespeedapiRunpagespeedCall {
+	c.opt_["rule"] = rule
 	return c
 }
 
 // Screenshot sets the optional parameter "screenshot": Indicates if
 // binary data containing a screenshot should be included
 func (c *PagespeedapiRunpagespeedCall) Screenshot(screenshot bool) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("screenshot", fmt.Sprintf("%v", screenshot))
+	c.opt_["screenshot"] = screenshot
 	return c
 }
 
@@ -342,15 +342,15 @@
 //   "desktop" - Fetch and analyze the URL for desktop browsers
 //   "mobile" - Fetch and analyze the URL for mobile devices
 func (c *PagespeedapiRunpagespeedCall) Strategy(strategy string) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("strategy", strategy)
+	c.opt_["strategy"] = strategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagespeedapiRunpagespeedCall) Fields(s ...googleapi.Field) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -360,13 +360,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagespeedapiRunpagespeedCall) IfNoneMatch(entityTag string) *PagespeedapiRunpagespeedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagespeedapiRunpagespeedCall) Context(ctx context.Context) *PagespeedapiRunpagespeedCall {
 	c.ctx_ = ctx
 	return c
@@ -374,14 +374,34 @@
 
 func (c *PagespeedapiRunpagespeedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("url", fmt.Sprintf("%v", c.url))
+	if v, ok := c.opt_["filter_third_party_resources"]; ok {
+		params.Set("filter_third_party_resources", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["rule"]; ok {
+		params.Set("rule", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["screenshot"]; ok {
+		params.Set("screenshot", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["strategy"]; ok {
+		params.Set("strategy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "runPagespeed")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/pagespeedonline/v2/pagespeedonline-gen.go b/pagespeedonline/v2/pagespeedonline-gen.go
index 5ad3e86..60ef197 100644
--- a/pagespeedonline/v2/pagespeedonline-gen.go
+++ b/pagespeedonline/v2/pagespeedonline-gen.go
@@ -449,18 +449,18 @@
 // method id "pagespeedonline.pagespeedapi.runpagespeed":
 
 type PagespeedapiRunpagespeedCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	url  string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Runpagespeed: Runs PageSpeed analysis on the page at the specified
 // URL, and returns PageSpeed scores, a list of suggestions to make that
 // page faster, and other information.
 func (r *PagespeedapiService) Runpagespeed(url string) *PagespeedapiRunpagespeedCall {
-	c := &PagespeedapiRunpagespeedCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("url", url)
+	c := &PagespeedapiRunpagespeedCall{s: r.s, opt_: make(map[string]interface{})}
+	c.url = url
 	return c
 }
 
@@ -468,28 +468,28 @@
 // "filter_third_party_resources": Indicates if third party resources
 // should be filtered out before PageSpeed analysis.
 func (c *PagespeedapiRunpagespeedCall) FilterThirdPartyResources(filterThirdPartyResources bool) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("filterThirdPartyResources", fmt.Sprintf("%v", filterThirdPartyResources))
+	c.opt_["filter_third_party_resources"] = filterThirdPartyResources
 	return c
 }
 
 // Locale sets the optional parameter "locale": The locale used to
 // localize formatted results
 func (c *PagespeedapiRunpagespeedCall) Locale(locale string) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
 // Rule sets the optional parameter "rule": A PageSpeed rule to run; if
 // none are given, all rules are run
-func (c *PagespeedapiRunpagespeedCall) Rule(rule []string) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.SetMulti("rule", append([]string{}, rule...))
+func (c *PagespeedapiRunpagespeedCall) Rule(rule string) *PagespeedapiRunpagespeedCall {
+	c.opt_["rule"] = rule
 	return c
 }
 
 // Screenshot sets the optional parameter "screenshot": Indicates if
 // binary data containing a screenshot should be included
 func (c *PagespeedapiRunpagespeedCall) Screenshot(screenshot bool) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("screenshot", fmt.Sprintf("%v", screenshot))
+	c.opt_["screenshot"] = screenshot
 	return c
 }
 
@@ -500,15 +500,15 @@
 //   "desktop" - Fetch and analyze the URL for desktop browsers
 //   "mobile" - Fetch and analyze the URL for mobile devices
 func (c *PagespeedapiRunpagespeedCall) Strategy(strategy string) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("strategy", strategy)
+	c.opt_["strategy"] = strategy
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PagespeedapiRunpagespeedCall) Fields(s ...googleapi.Field) *PagespeedapiRunpagespeedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -518,13 +518,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PagespeedapiRunpagespeedCall) IfNoneMatch(entityTag string) *PagespeedapiRunpagespeedCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PagespeedapiRunpagespeedCall) Context(ctx context.Context) *PagespeedapiRunpagespeedCall {
 	c.ctx_ = ctx
 	return c
@@ -532,14 +532,34 @@
 
 func (c *PagespeedapiRunpagespeedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("url", fmt.Sprintf("%v", c.url))
+	if v, ok := c.opt_["filter_third_party_resources"]; ok {
+		params.Set("filter_third_party_resources", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["rule"]; ok {
+		params.Set("rule", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["screenshot"]; ok {
+		params.Set("screenshot", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["strategy"]; ok {
+		params.Set("strategy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "runPagespeed")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/partners/v2/partners-gen.go b/partners/v2/partners-gen.go
index 3f03d7c..d2319ea 100644
--- a/partners/v2/partners-gen.go
+++ b/partners/v2/partners-gen.go
@@ -1215,7 +1215,7 @@
 type ClientMessagesLogCall struct {
 	s                 *Service
 	logmessagerequest *LogMessageRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
@@ -1223,22 +1223,22 @@
 // render component`, `Profile page is running slow`, `More than 500
 // users have accessed this result.`, etc.
 func (r *ClientMessagesService) Log(logmessagerequest *LogMessageRequest) *ClientMessagesLogCall {
-	c := &ClientMessagesLogCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ClientMessagesLogCall{s: r.s, opt_: make(map[string]interface{})}
 	c.logmessagerequest = logmessagerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ClientMessagesLogCall) Fields(s ...googleapi.Field) *ClientMessagesLogCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ClientMessagesLogCall) Context(ctx context.Context) *ClientMessagesLogCall {
 	c.ctx_ = ctx
 	return c
@@ -1251,9 +1251,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/clientMessages:log")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1317,16 +1321,15 @@
 // method id "partners.companies.get":
 
 type CompaniesGetCall struct {
-	s            *Service
-	companyId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	companyId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a company.
 func (r *CompaniesService) Get(companyId string) *CompaniesGetCall {
-	c := &CompaniesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CompaniesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.companyId = companyId
 	return c
 }
@@ -1336,7 +1339,7 @@
 // geo-located address of the request is used. Used when order_by is
 // set.
 func (c *CompaniesGetCall) Address(address string) *CompaniesGetCall {
-	c.urlParams_.Set("address", address)
+	c.opt_["address"] = address
 	return c
 }
 
@@ -1344,7 +1347,7 @@
 // company's budget is in a different currency code than this one, then
 // the converted budget is converted to this currency code.
 func (c *CompaniesGetCall) CurrencyCode(currencyCode string) *CompaniesGetCall {
-	c.urlParams_.Set("currencyCode", currencyCode)
+	c.opt_["currencyCode"] = currencyCode
 	return c
 }
 
@@ -1354,29 +1357,29 @@
 // distance from given address and farthest to closest distance from
 // given address respectively.
 func (c *CompaniesGetCall) OrderBy(orderBy string) *CompaniesGetCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
 // RequestMetadataExperimentIds sets the optional parameter
 // "requestMetadata.experimentIds": Experiment IDs the current request
 // belongs to.
-func (c *CompaniesGetCall) RequestMetadataExperimentIds(requestMetadataExperimentIds []string) *CompaniesGetCall {
-	c.urlParams_.SetMulti("requestMetadataExperimentIds", append([]string{}, requestMetadataExperimentIds...))
+func (c *CompaniesGetCall) RequestMetadataExperimentIds(requestMetadataExperimentIds string) *CompaniesGetCall {
+	c.opt_["requestMetadata.experimentIds"] = requestMetadataExperimentIds
 	return c
 }
 
 // RequestMetadataLocale sets the optional parameter
 // "requestMetadata.locale": Locale to use for the current request.
 func (c *CompaniesGetCall) RequestMetadataLocale(requestMetadataLocale string) *CompaniesGetCall {
-	c.urlParams_.Set("requestMetadataLocale", requestMetadataLocale)
+	c.opt_["requestMetadata.locale"] = requestMetadataLocale
 	return c
 }
 
 // RequestMetadataPartnersSessionId sets the optional parameter
 // "requestMetadata.partnersSessionId": Google Partners session ID.
 func (c *CompaniesGetCall) RequestMetadataPartnersSessionId(requestMetadataPartnersSessionId string) *CompaniesGetCall {
-	c.urlParams_.Set("requestMetadataPartnersSessionId", requestMetadataPartnersSessionId)
+	c.opt_["requestMetadata.partnersSessionId"] = requestMetadataPartnersSessionId
 	return c
 }
 
@@ -1385,7 +1388,7 @@
 // to indicate where the traffic comes from. An identifier has multiple
 // letters created by a team which redirected the traffic to us.
 func (c *CompaniesGetCall) RequestMetadataTrafficSourceTrafficSourceId(requestMetadataTrafficSourceTrafficSourceId string) *CompaniesGetCall {
-	c.urlParams_.Set("requestMetadataTrafficSourceTrafficSourceId", requestMetadataTrafficSourceTrafficSourceId)
+	c.opt_["requestMetadata.trafficSource.trafficSourceId"] = requestMetadataTrafficSourceTrafficSourceId
 	return c
 }
 
@@ -1394,7 +1397,7 @@
 // to indicate where the traffic comes from. An identifier has multiple
 // letters created by a team which redirected the traffic to us.
 func (c *CompaniesGetCall) RequestMetadataTrafficSourceTrafficSubId(requestMetadataTrafficSourceTrafficSubId string) *CompaniesGetCall {
-	c.urlParams_.Set("requestMetadataTrafficSourceTrafficSubId", requestMetadataTrafficSourceTrafficSubId)
+	c.opt_["requestMetadata.trafficSource.trafficSubId"] = requestMetadataTrafficSourceTrafficSubId
 	return c
 }
 
@@ -1402,7 +1405,7 @@
 // "requestMetadata.userOverrides.ipAddress": IP address to use instead
 // of the user's geo-located IP address.
 func (c *CompaniesGetCall) RequestMetadataUserOverridesIpAddress(requestMetadataUserOverridesIpAddress string) *CompaniesGetCall {
-	c.urlParams_.Set("requestMetadataUserOverridesIpAddress", requestMetadataUserOverridesIpAddress)
+	c.opt_["requestMetadata.userOverrides.ipAddress"] = requestMetadataUserOverridesIpAddress
 	return c
 }
 
@@ -1410,7 +1413,7 @@
 // "requestMetadata.userOverrides.userId": Logged-in user ID to
 // impersonate instead of the user's ID.
 func (c *CompaniesGetCall) RequestMetadataUserOverridesUserId(requestMetadataUserOverridesUserId string) *CompaniesGetCall {
-	c.urlParams_.Set("requestMetadataUserOverridesUserId", requestMetadataUserOverridesUserId)
+	c.opt_["requestMetadata.userOverrides.userId"] = requestMetadataUserOverridesUserId
 	return c
 }
 
@@ -1421,15 +1424,15 @@
 //   "COMPANY_VIEW_UNSPECIFIED"
 //   "CV_GOOGLE_PARTNER_SEARCH"
 func (c *CompaniesGetCall) View(view string) *CompaniesGetCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CompaniesGetCall) Fields(s ...googleapi.Field) *CompaniesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1439,13 +1442,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CompaniesGetCall) IfNoneMatch(entityTag string) *CompaniesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CompaniesGetCall) Context(ctx context.Context) *CompaniesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1453,16 +1456,53 @@
 
 func (c *CompaniesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["address"]; ok {
+		params.Set("address", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["currencyCode"]; ok {
+		params.Set("currencyCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.experimentIds"]; ok {
+		params.Set("requestMetadata.experimentIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.locale"]; ok {
+		params.Set("requestMetadata.locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.partnersSessionId"]; ok {
+		params.Set("requestMetadata.partnersSessionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.trafficSource.trafficSourceId"]; ok {
+		params.Set("requestMetadata.trafficSource.trafficSourceId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.trafficSource.trafficSubId"]; ok {
+		params.Set("requestMetadata.trafficSource.trafficSubId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.userOverrides.ipAddress"]; ok {
+		params.Set("requestMetadata.userOverrides.ipAddress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.userOverrides.userId"]; ok {
+		params.Set("requestMetadata.userOverrides.userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/companies/{companyId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"companyId": c.companyId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1591,15 +1631,14 @@
 // method id "partners.companies.list":
 
 type CompaniesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists companies.
 func (r *CompaniesService) List() *CompaniesListCall {
-	c := &CompaniesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CompaniesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1607,14 +1646,14 @@
 // when searching for companies. If not given, the geo-located address
 // of the request is used.
 func (c *CompaniesListCall) Address(address string) *CompaniesListCall {
-	c.urlParams_.Set("address", address)
+	c.opt_["address"] = address
 	return c
 }
 
 // CompanyName sets the optional parameter "companyName": Company name
 // to search for.
 func (c *CompaniesListCall) CompanyName(companyName string) *CompaniesListCall {
-	c.urlParams_.Set("companyName", companyName)
+	c.opt_["companyName"] = companyName
 	return c
 }
 
@@ -1626,8 +1665,8 @@
 //   "GPSM_HELP_WITH_ADVERTISING"
 //   "GPSM_HELP_WITH_WEBSITE"
 //   "GPSM_NO_WEBSITE"
-func (c *CompaniesListCall) GpsMotivations(gpsMotivations []string) *CompaniesListCall {
-	c.urlParams_.SetMulti("gpsMotivations", append([]string{}, gpsMotivations...))
+func (c *CompaniesListCall) GpsMotivations(gpsMotivations string) *CompaniesListCall {
+	c.opt_["gpsMotivations"] = gpsMotivations
 	return c
 }
 
@@ -1646,8 +1685,8 @@
 //   "I_RETAIL"
 //   "I_TECHNOLOGY"
 //   "I_TRAVEL"
-func (c *CompaniesListCall) Industries(industries []string) *CompaniesListCall {
-	c.urlParams_.SetMulti("industries", append([]string{}, industries...))
+func (c *CompaniesListCall) Industries(industries string) *CompaniesListCall {
+	c.opt_["industries"] = industries
 	return c
 }
 
@@ -1655,8 +1694,8 @@
 // language codes that company can support. Only primary language
 // subtags are accepted as defined by BCP 47 (IETF BCP 47, "Tags for
 // Identifying Languages").
-func (c *CompaniesListCall) LanguageCodes(languageCodes []string) *CompaniesListCall {
-	c.urlParams_.SetMulti("languageCodes", append([]string{}, languageCodes...))
+func (c *CompaniesListCall) LanguageCodes(languageCodes string) *CompaniesListCall {
+	c.opt_["languageCodes"] = languageCodes
 	return c
 }
 
@@ -1664,7 +1703,7 @@
 // "maxMonthlyBudget.currencyCode": The 3-letter currency code defined
 // in ISO 4217.
 func (c *CompaniesListCall) MaxMonthlyBudgetCurrencyCode(maxMonthlyBudgetCurrencyCode string) *CompaniesListCall {
-	c.urlParams_.Set("maxMonthlyBudgetCurrencyCode", maxMonthlyBudgetCurrencyCode)
+	c.opt_["maxMonthlyBudget.currencyCode"] = maxMonthlyBudgetCurrencyCode
 	return c
 }
 
@@ -1676,7 +1715,7 @@
 // negative, `nanos` must be negative or zero. For example $-1.75 is
 // represented as `units`=-1 and `nanos`=-750,000,000.
 func (c *CompaniesListCall) MaxMonthlyBudgetNanos(maxMonthlyBudgetNanos int64) *CompaniesListCall {
-	c.urlParams_.Set("maxMonthlyBudgetNanos", fmt.Sprintf("%v", maxMonthlyBudgetNanos))
+	c.opt_["maxMonthlyBudget.nanos"] = maxMonthlyBudgetNanos
 	return c
 }
 
@@ -1684,7 +1723,7 @@
 // "maxMonthlyBudget.units": The whole units of the amount. For example
 // if `currencyCode` is "USD", then 1 unit is one US dollar.
 func (c *CompaniesListCall) MaxMonthlyBudgetUnits(maxMonthlyBudgetUnits int64) *CompaniesListCall {
-	c.urlParams_.Set("maxMonthlyBudgetUnits", fmt.Sprintf("%v", maxMonthlyBudgetUnits))
+	c.opt_["maxMonthlyBudget.units"] = maxMonthlyBudgetUnits
 	return c
 }
 
@@ -1692,7 +1731,7 @@
 // "minMonthlyBudget.currencyCode": The 3-letter currency code defined
 // in ISO 4217.
 func (c *CompaniesListCall) MinMonthlyBudgetCurrencyCode(minMonthlyBudgetCurrencyCode string) *CompaniesListCall {
-	c.urlParams_.Set("minMonthlyBudgetCurrencyCode", minMonthlyBudgetCurrencyCode)
+	c.opt_["minMonthlyBudget.currencyCode"] = minMonthlyBudgetCurrencyCode
 	return c
 }
 
@@ -1704,7 +1743,7 @@
 // negative, `nanos` must be negative or zero. For example $-1.75 is
 // represented as `units`=-1 and `nanos`=-750,000,000.
 func (c *CompaniesListCall) MinMonthlyBudgetNanos(minMonthlyBudgetNanos int64) *CompaniesListCall {
-	c.urlParams_.Set("minMonthlyBudgetNanos", fmt.Sprintf("%v", minMonthlyBudgetNanos))
+	c.opt_["minMonthlyBudget.nanos"] = minMonthlyBudgetNanos
 	return c
 }
 
@@ -1712,7 +1751,7 @@
 // "minMonthlyBudget.units": The whole units of the amount. For example
 // if `currencyCode` is "USD", then 1 unit is one US dollar.
 func (c *CompaniesListCall) MinMonthlyBudgetUnits(minMonthlyBudgetUnits int64) *CompaniesListCall {
-	c.urlParams_.Set("minMonthlyBudgetUnits", fmt.Sprintf("%v", minMonthlyBudgetUnits))
+	c.opt_["minMonthlyBudget.units"] = minMonthlyBudgetUnits
 	return c
 }
 
@@ -1722,7 +1761,7 @@
 // distance from given address and farthest to closest distance from
 // given address respectively.
 func (c *CompaniesListCall) OrderBy(orderBy string) *CompaniesListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -1730,7 +1769,7 @@
 // Server may return fewer companies than requested. If unspecified,
 // server picks an appropriate default.
 func (c *CompaniesListCall) PageSize(pageSize int64) *CompaniesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1739,29 +1778,29 @@
 // this is the value of `ListCompaniesResponse.next_page_token` returned
 // from the previous call to ListCompanies.
 func (c *CompaniesListCall) PageToken(pageToken string) *CompaniesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // RequestMetadataExperimentIds sets the optional parameter
 // "requestMetadata.experimentIds": Experiment IDs the current request
 // belongs to.
-func (c *CompaniesListCall) RequestMetadataExperimentIds(requestMetadataExperimentIds []string) *CompaniesListCall {
-	c.urlParams_.SetMulti("requestMetadataExperimentIds", append([]string{}, requestMetadataExperimentIds...))
+func (c *CompaniesListCall) RequestMetadataExperimentIds(requestMetadataExperimentIds string) *CompaniesListCall {
+	c.opt_["requestMetadata.experimentIds"] = requestMetadataExperimentIds
 	return c
 }
 
 // RequestMetadataLocale sets the optional parameter
 // "requestMetadata.locale": Locale to use for the current request.
 func (c *CompaniesListCall) RequestMetadataLocale(requestMetadataLocale string) *CompaniesListCall {
-	c.urlParams_.Set("requestMetadataLocale", requestMetadataLocale)
+	c.opt_["requestMetadata.locale"] = requestMetadataLocale
 	return c
 }
 
 // RequestMetadataPartnersSessionId sets the optional parameter
 // "requestMetadata.partnersSessionId": Google Partners session ID.
 func (c *CompaniesListCall) RequestMetadataPartnersSessionId(requestMetadataPartnersSessionId string) *CompaniesListCall {
-	c.urlParams_.Set("requestMetadataPartnersSessionId", requestMetadataPartnersSessionId)
+	c.opt_["requestMetadata.partnersSessionId"] = requestMetadataPartnersSessionId
 	return c
 }
 
@@ -1770,7 +1809,7 @@
 // to indicate where the traffic comes from. An identifier has multiple
 // letters created by a team which redirected the traffic to us.
 func (c *CompaniesListCall) RequestMetadataTrafficSourceTrafficSourceId(requestMetadataTrafficSourceTrafficSourceId string) *CompaniesListCall {
-	c.urlParams_.Set("requestMetadataTrafficSourceTrafficSourceId", requestMetadataTrafficSourceTrafficSourceId)
+	c.opt_["requestMetadata.trafficSource.trafficSourceId"] = requestMetadataTrafficSourceTrafficSourceId
 	return c
 }
 
@@ -1779,7 +1818,7 @@
 // to indicate where the traffic comes from. An identifier has multiple
 // letters created by a team which redirected the traffic to us.
 func (c *CompaniesListCall) RequestMetadataTrafficSourceTrafficSubId(requestMetadataTrafficSourceTrafficSubId string) *CompaniesListCall {
-	c.urlParams_.Set("requestMetadataTrafficSourceTrafficSubId", requestMetadataTrafficSourceTrafficSubId)
+	c.opt_["requestMetadata.trafficSource.trafficSubId"] = requestMetadataTrafficSourceTrafficSubId
 	return c
 }
 
@@ -1787,7 +1826,7 @@
 // "requestMetadata.userOverrides.ipAddress": IP address to use instead
 // of the user's geo-located IP address.
 func (c *CompaniesListCall) RequestMetadataUserOverridesIpAddress(requestMetadataUserOverridesIpAddress string) *CompaniesListCall {
-	c.urlParams_.Set("requestMetadataUserOverridesIpAddress", requestMetadataUserOverridesIpAddress)
+	c.opt_["requestMetadata.userOverrides.ipAddress"] = requestMetadataUserOverridesIpAddress
 	return c
 }
 
@@ -1795,7 +1834,7 @@
 // "requestMetadata.userOverrides.userId": Logged-in user ID to
 // impersonate instead of the user's ID.
 func (c *CompaniesListCall) RequestMetadataUserOverridesUserId(requestMetadataUserOverridesUserId string) *CompaniesListCall {
-	c.urlParams_.Set("requestMetadataUserOverridesUserId", requestMetadataUserOverridesUserId)
+	c.opt_["requestMetadata.userOverrides.userId"] = requestMetadataUserOverridesUserId
 	return c
 }
 
@@ -1809,8 +1848,8 @@
 //   "S_AN_ENHANCED_WEBSITE"
 //   "S_AN_ONLINE_MARKETING_PLAN"
 //   "S_MOBILE_AND_VIDEO_ADS"
-func (c *CompaniesListCall) Services(services []string) *CompaniesListCall {
-	c.urlParams_.SetMulti("services", append([]string{}, services...))
+func (c *CompaniesListCall) Services(services string) *CompaniesListCall {
+	c.opt_["services"] = services
 	return c
 }
 
@@ -1821,22 +1860,22 @@
 //   "COMPANY_VIEW_UNSPECIFIED"
 //   "CV_GOOGLE_PARTNER_SEARCH"
 func (c *CompaniesListCall) View(view string) *CompaniesListCall {
-	c.urlParams_.Set("view", view)
+	c.opt_["view"] = view
 	return c
 }
 
 // WebsiteUrl sets the optional parameter "websiteUrl": Website URL that
 // will help to find a better matched company. .
 func (c *CompaniesListCall) WebsiteUrl(websiteUrl string) *CompaniesListCall {
-	c.urlParams_.Set("websiteUrl", websiteUrl)
+	c.opt_["websiteUrl"] = websiteUrl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CompaniesListCall) Fields(s ...googleapi.Field) *CompaniesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1846,13 +1885,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CompaniesListCall) IfNoneMatch(entityTag string) *CompaniesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CompaniesListCall) Context(ctx context.Context) *CompaniesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1860,14 +1899,90 @@
 
 func (c *CompaniesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["address"]; ok {
+		params.Set("address", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["companyName"]; ok {
+		params.Set("companyName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["gpsMotivations"]; ok {
+		params.Set("gpsMotivations", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["industries"]; ok {
+		params.Set("industries", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["languageCodes"]; ok {
+		params.Set("languageCodes", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxMonthlyBudget.currencyCode"]; ok {
+		params.Set("maxMonthlyBudget.currencyCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxMonthlyBudget.nanos"]; ok {
+		params.Set("maxMonthlyBudget.nanos", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxMonthlyBudget.units"]; ok {
+		params.Set("maxMonthlyBudget.units", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minMonthlyBudget.currencyCode"]; ok {
+		params.Set("minMonthlyBudget.currencyCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minMonthlyBudget.nanos"]; ok {
+		params.Set("minMonthlyBudget.nanos", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["minMonthlyBudget.units"]; ok {
+		params.Set("minMonthlyBudget.units", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.experimentIds"]; ok {
+		params.Set("requestMetadata.experimentIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.locale"]; ok {
+		params.Set("requestMetadata.locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.partnersSessionId"]; ok {
+		params.Set("requestMetadata.partnersSessionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.trafficSource.trafficSourceId"]; ok {
+		params.Set("requestMetadata.trafficSource.trafficSourceId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.trafficSource.trafficSubId"]; ok {
+		params.Set("requestMetadata.trafficSource.trafficSubId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.userOverrides.ipAddress"]; ok {
+		params.Set("requestMetadata.userOverrides.ipAddress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.userOverrides.userId"]; ok {
+		params.Set("requestMetadata.userOverrides.userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["services"]; ok {
+		params.Set("services", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["view"]; ok {
+		params.Set("view", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["websiteUrl"]; ok {
+		params.Set("websiteUrl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/companies")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2091,29 +2206,29 @@
 	s                 *Service
 	companyId         string
 	createleadrequest *CreateLeadRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Create: Creates an advertiser lead for the given company ID.
 func (r *CompaniesLeadsService) Create(companyId string, createleadrequest *CreateLeadRequest) *CompaniesLeadsCreateCall {
-	c := &CompaniesLeadsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CompaniesLeadsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.companyId = companyId
 	c.createleadrequest = createleadrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CompaniesLeadsCreateCall) Fields(s ...googleapi.Field) *CompaniesLeadsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CompaniesLeadsCreateCall) Context(ctx context.Context) *CompaniesLeadsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2126,9 +2241,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/companies/{companyId}/leads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"companyId": c.companyId,
@@ -2207,28 +2326,28 @@
 type UserEventsLogCall struct {
 	s                   *Service
 	logusereventrequest *LogUserEventRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Log: Logs a user event.
 func (r *UserEventsService) Log(logusereventrequest *LogUserEventRequest) *UserEventsLogCall {
-	c := &UserEventsLogCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserEventsLogCall{s: r.s, opt_: make(map[string]interface{})}
 	c.logusereventrequest = logusereventrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserEventsLogCall) Fields(s ...googleapi.Field) *UserEventsLogCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserEventsLogCall) Context(ctx context.Context) *UserEventsLogCall {
 	c.ctx_ = ctx
 	return c
@@ -2241,9 +2360,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/userEvents:log")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2307,37 +2430,36 @@
 // method id "partners.userStates.list":
 
 type UserStatesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists states for current user.
 func (r *UserStatesService) List() *UserStatesListCall {
-	c := &UserStatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UserStatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // RequestMetadataExperimentIds sets the optional parameter
 // "requestMetadata.experimentIds": Experiment IDs the current request
 // belongs to.
-func (c *UserStatesListCall) RequestMetadataExperimentIds(requestMetadataExperimentIds []string) *UserStatesListCall {
-	c.urlParams_.SetMulti("requestMetadataExperimentIds", append([]string{}, requestMetadataExperimentIds...))
+func (c *UserStatesListCall) RequestMetadataExperimentIds(requestMetadataExperimentIds string) *UserStatesListCall {
+	c.opt_["requestMetadata.experimentIds"] = requestMetadataExperimentIds
 	return c
 }
 
 // RequestMetadataLocale sets the optional parameter
 // "requestMetadata.locale": Locale to use for the current request.
 func (c *UserStatesListCall) RequestMetadataLocale(requestMetadataLocale string) *UserStatesListCall {
-	c.urlParams_.Set("requestMetadataLocale", requestMetadataLocale)
+	c.opt_["requestMetadata.locale"] = requestMetadataLocale
 	return c
 }
 
 // RequestMetadataPartnersSessionId sets the optional parameter
 // "requestMetadata.partnersSessionId": Google Partners session ID.
 func (c *UserStatesListCall) RequestMetadataPartnersSessionId(requestMetadataPartnersSessionId string) *UserStatesListCall {
-	c.urlParams_.Set("requestMetadataPartnersSessionId", requestMetadataPartnersSessionId)
+	c.opt_["requestMetadata.partnersSessionId"] = requestMetadataPartnersSessionId
 	return c
 }
 
@@ -2346,7 +2468,7 @@
 // to indicate where the traffic comes from. An identifier has multiple
 // letters created by a team which redirected the traffic to us.
 func (c *UserStatesListCall) RequestMetadataTrafficSourceTrafficSourceId(requestMetadataTrafficSourceTrafficSourceId string) *UserStatesListCall {
-	c.urlParams_.Set("requestMetadataTrafficSourceTrafficSourceId", requestMetadataTrafficSourceTrafficSourceId)
+	c.opt_["requestMetadata.trafficSource.trafficSourceId"] = requestMetadataTrafficSourceTrafficSourceId
 	return c
 }
 
@@ -2355,7 +2477,7 @@
 // to indicate where the traffic comes from. An identifier has multiple
 // letters created by a team which redirected the traffic to us.
 func (c *UserStatesListCall) RequestMetadataTrafficSourceTrafficSubId(requestMetadataTrafficSourceTrafficSubId string) *UserStatesListCall {
-	c.urlParams_.Set("requestMetadataTrafficSourceTrafficSubId", requestMetadataTrafficSourceTrafficSubId)
+	c.opt_["requestMetadata.trafficSource.trafficSubId"] = requestMetadataTrafficSourceTrafficSubId
 	return c
 }
 
@@ -2363,7 +2485,7 @@
 // "requestMetadata.userOverrides.ipAddress": IP address to use instead
 // of the user's geo-located IP address.
 func (c *UserStatesListCall) RequestMetadataUserOverridesIpAddress(requestMetadataUserOverridesIpAddress string) *UserStatesListCall {
-	c.urlParams_.Set("requestMetadataUserOverridesIpAddress", requestMetadataUserOverridesIpAddress)
+	c.opt_["requestMetadata.userOverrides.ipAddress"] = requestMetadataUserOverridesIpAddress
 	return c
 }
 
@@ -2371,15 +2493,15 @@
 // "requestMetadata.userOverrides.userId": Logged-in user ID to
 // impersonate instead of the user's ID.
 func (c *UserStatesListCall) RequestMetadataUserOverridesUserId(requestMetadataUserOverridesUserId string) *UserStatesListCall {
-	c.urlParams_.Set("requestMetadataUserOverridesUserId", requestMetadataUserOverridesUserId)
+	c.opt_["requestMetadata.userOverrides.userId"] = requestMetadataUserOverridesUserId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UserStatesListCall) Fields(s ...googleapi.Field) *UserStatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2389,13 +2511,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UserStatesListCall) IfNoneMatch(entityTag string) *UserStatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UserStatesListCall) Context(ctx context.Context) *UserStatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2403,14 +2525,39 @@
 
 func (c *UserStatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["requestMetadata.experimentIds"]; ok {
+		params.Set("requestMetadata.experimentIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.locale"]; ok {
+		params.Set("requestMetadata.locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.partnersSessionId"]; ok {
+		params.Set("requestMetadata.partnersSessionId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.trafficSource.trafficSourceId"]; ok {
+		params.Set("requestMetadata.trafficSource.trafficSourceId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.trafficSource.trafficSubId"]; ok {
+		params.Set("requestMetadata.trafficSource.trafficSubId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.userOverrides.ipAddress"]; ok {
+		params.Set("requestMetadata.userOverrides.ipAddress", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["requestMetadata.userOverrides.userId"]; ok {
+		params.Set("requestMetadata.userOverrides.userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/userStates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/playmoviespartner/v1/playmoviespartner-gen.go b/playmoviespartner/v1/playmoviespartner-gen.go
index 9ab31b5..4d91a6c 100644
--- a/playmoviespartner/v1/playmoviespartner-gen.go
+++ b/playmoviespartner/v1/playmoviespartner-gen.go
@@ -828,18 +828,17 @@
 // method id "playmoviespartner.accounts.avails.list":
 
 type AccountsAvailsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List Avails owned or managed by the partner. See
 // _Authentication and Authorization rules_ and _List methods rules_ for
 // more information about this method.
 func (r *AccountsAvailsService) List(accountId string) *AccountsAvailsListCall {
-	c := &AccountsAvailsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsAvailsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -847,65 +846,65 @@
 // AltId sets the optional parameter "altId": Filter Avails that match a
 // case-insensitive, partner-specific custom id.
 func (c *AccountsAvailsListCall) AltId(altId string) *AccountsAvailsListCall {
-	c.urlParams_.Set("altId", altId)
+	c.opt_["altId"] = altId
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": See _List methods
 // rules_ for info about this field.
 func (c *AccountsAvailsListCall) PageSize(pageSize int64) *AccountsAvailsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": See _List methods
 // rules_ for info about this field.
 func (c *AccountsAvailsListCall) PageToken(pageToken string) *AccountsAvailsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PphNames sets the optional parameter "pphNames": See _List methods
 // rules_ for info about this field.
-func (c *AccountsAvailsListCall) PphNames(pphNames []string) *AccountsAvailsListCall {
-	c.urlParams_.SetMulti("pphNames", append([]string{}, pphNames...))
+func (c *AccountsAvailsListCall) PphNames(pphNames string) *AccountsAvailsListCall {
+	c.opt_["pphNames"] = pphNames
 	return c
 }
 
 // StudioNames sets the optional parameter "studioNames": See _List
 // methods rules_ for info about this field.
-func (c *AccountsAvailsListCall) StudioNames(studioNames []string) *AccountsAvailsListCall {
-	c.urlParams_.SetMulti("studioNames", append([]string{}, studioNames...))
+func (c *AccountsAvailsListCall) StudioNames(studioNames string) *AccountsAvailsListCall {
+	c.opt_["studioNames"] = studioNames
 	return c
 }
 
 // Territories sets the optional parameter "territories": Filter Avails
 // that match (case-insensitive) any of the given country codes, using
 // the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us").
-func (c *AccountsAvailsListCall) Territories(territories []string) *AccountsAvailsListCall {
-	c.urlParams_.SetMulti("territories", append([]string{}, territories...))
+func (c *AccountsAvailsListCall) Territories(territories string) *AccountsAvailsListCall {
+	c.opt_["territories"] = territories
 	return c
 }
 
 // Title sets the optional parameter "title": Filter Avails that match a
 // case-insensitive substring of the default Title name.
 func (c *AccountsAvailsListCall) Title(title string) *AccountsAvailsListCall {
-	c.urlParams_.Set("title", title)
+	c.opt_["title"] = title
 	return c
 }
 
 // VideoIds sets the optional parameter "videoIds": Filter Avails that
 // match any of the given `video_id`s.
-func (c *AccountsAvailsListCall) VideoIds(videoIds []string) *AccountsAvailsListCall {
-	c.urlParams_.SetMulti("videoIds", append([]string{}, videoIds...))
+func (c *AccountsAvailsListCall) VideoIds(videoIds string) *AccountsAvailsListCall {
+	c.opt_["videoIds"] = videoIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsAvailsListCall) Fields(s ...googleapi.Field) *AccountsAvailsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -915,13 +914,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsAvailsListCall) IfNoneMatch(entityTag string) *AccountsAvailsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsAvailsListCall) Context(ctx context.Context) *AccountsAvailsListCall {
 	c.ctx_ = ctx
 	return c
@@ -929,16 +928,44 @@
 
 func (c *AccountsAvailsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["altId"]; ok {
+		params.Set("altId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pphNames"]; ok {
+		params.Set("pphNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioNames"]; ok {
+		params.Set("studioNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["territories"]; ok {
+		params.Set("territories", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["title"]; ok {
+		params.Set("title", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoIds"]; ok {
+		params.Set("videoIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/avails")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1055,29 +1082,28 @@
 // method id "playmoviespartner.accounts.experienceLocales.get":
 
 type AccountsExperienceLocalesGetCall struct {
-	s            *Service
-	accountId    string
-	elId         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	elId      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get an ExperienceLocale given its id. See _Authentication and
 // Authorization rules_ and _Get methods rules_ for more information
 // about this method.
 func (r *AccountsExperienceLocalesService) Get(accountId string, elId string) *AccountsExperienceLocalesGetCall {
-	c := &AccountsExperienceLocalesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsExperienceLocalesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.elId = elId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsExperienceLocalesGetCall) Fields(s ...googleapi.Field) *AccountsExperienceLocalesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1087,13 +1113,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsExperienceLocalesGetCall) IfNoneMatch(entityTag string) *AccountsExperienceLocalesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsExperienceLocalesGetCall) Context(ctx context.Context) *AccountsExperienceLocalesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1101,17 +1127,21 @@
 
 func (c *AccountsExperienceLocalesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/experienceLocales/{elId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 		"elId":      c.elId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1190,18 +1220,17 @@
 // method id "playmoviespartner.accounts.experienceLocales.list":
 
 type AccountsExperienceLocalesListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List ExperienceLocales owned or managed by the partner. See
 // _Authentication and Authorization rules_ and _List methods rules_ for
 // more information about this method.
 func (r *AccountsExperienceLocalesService) List(accountId string) *AccountsExperienceLocalesListCall {
-	c := &AccountsExperienceLocalesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsExperienceLocalesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1210,7 +1239,7 @@
 // ExperienceLocales that match a case-insensitive, partner-specific
 // Alternative Cut ID.
 func (c *AccountsExperienceLocalesListCall) AltCutId(altCutId string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("altCutId", altCutId)
+	c.opt_["altCutId"] = altCutId
 	return c
 }
 
@@ -1218,35 +1247,35 @@
 // ExperienceLocales that match a case-insensitive, partner-specific
 // custom id.
 func (c *AccountsExperienceLocalesListCall) CustomId(customId string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("customId", customId)
+	c.opt_["customId"] = customId
 	return c
 }
 
 // EditLevelEidr sets the optional parameter "editLevelEidr": Filter
 // ExperienceLocales that match a given edit-level EIDR.
 func (c *AccountsExperienceLocalesListCall) EditLevelEidr(editLevelEidr string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("editLevelEidr", editLevelEidr)
+	c.opt_["editLevelEidr"] = editLevelEidr
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": See _List methods
 // rules_ for info about this field.
 func (c *AccountsExperienceLocalesListCall) PageSize(pageSize int64) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": See _List methods
 // rules_ for info about this field.
 func (c *AccountsExperienceLocalesListCall) PageToken(pageToken string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PphNames sets the optional parameter "pphNames": See _List methods
 // rules_ for info about this field.
-func (c *AccountsExperienceLocalesListCall) PphNames(pphNames []string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.SetMulti("pphNames", append([]string{}, pphNames...))
+func (c *AccountsExperienceLocalesListCall) PphNames(pphNames string) *AccountsExperienceLocalesListCall {
+	c.opt_["pphNames"] = pphNames
 	return c
 }
 
@@ -1260,30 +1289,30 @@
 //   "STATUS_PROCESSING"
 //   "STATUS_UNFULFILLED"
 //   "STATUS_NOT_AVAILABLE"
-func (c *AccountsExperienceLocalesListCall) Status(status []string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *AccountsExperienceLocalesListCall) Status(status string) *AccountsExperienceLocalesListCall {
+	c.opt_["status"] = status
 	return c
 }
 
 // StudioNames sets the optional parameter "studioNames": See _List
 // methods rules_ for info about this field.
-func (c *AccountsExperienceLocalesListCall) StudioNames(studioNames []string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.SetMulti("studioNames", append([]string{}, studioNames...))
+func (c *AccountsExperienceLocalesListCall) StudioNames(studioNames string) *AccountsExperienceLocalesListCall {
+	c.opt_["studioNames"] = studioNames
 	return c
 }
 
 // TitleLevelEidr sets the optional parameter "titleLevelEidr": Filter
 // ExperienceLocales that match a given title-level EIDR.
 func (c *AccountsExperienceLocalesListCall) TitleLevelEidr(titleLevelEidr string) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("titleLevelEidr", titleLevelEidr)
+	c.opt_["titleLevelEidr"] = titleLevelEidr
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsExperienceLocalesListCall) Fields(s ...googleapi.Field) *AccountsExperienceLocalesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1293,13 +1322,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsExperienceLocalesListCall) IfNoneMatch(entityTag string) *AccountsExperienceLocalesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsExperienceLocalesListCall) Context(ctx context.Context) *AccountsExperienceLocalesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1307,16 +1336,47 @@
 
 func (c *AccountsExperienceLocalesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["altCutId"]; ok {
+		params.Set("altCutId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customId"]; ok {
+		params.Set("customId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["editLevelEidr"]; ok {
+		params.Set("editLevelEidr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pphNames"]; ok {
+		params.Set("pphNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioNames"]; ok {
+		params.Set("studioNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["titleLevelEidr"]; ok {
+		params.Set("titleLevelEidr", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/experienceLocales")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1445,29 +1505,28 @@
 // method id "playmoviespartner.accounts.orders.get":
 
 type AccountsOrdersGetCall struct {
-	s            *Service
-	accountId    string
-	orderId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	orderId   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get an Order given its id. See _Authentication and Authorization
 // rules_ and _Get methods rules_ for more information about this
 // method.
 func (r *AccountsOrdersService) Get(accountId string, orderId string) *AccountsOrdersGetCall {
-	c := &AccountsOrdersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsOrdersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.orderId = orderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsOrdersGetCall) Fields(s ...googleapi.Field) *AccountsOrdersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1477,13 +1536,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsOrdersGetCall) IfNoneMatch(entityTag string) *AccountsOrdersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsOrdersGetCall) Context(ctx context.Context) *AccountsOrdersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1491,17 +1550,21 @@
 
 func (c *AccountsOrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/orders/{orderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 		"orderId":   c.orderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1580,18 +1643,17 @@
 // method id "playmoviespartner.accounts.orders.list":
 
 type AccountsOrdersListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List Orders owned or managed by the partner. See
 // _Authentication and Authorization rules_ and _List methods rules_ for
 // more information about this method.
 func (r *AccountsOrdersService) List(accountId string) *AccountsOrdersListCall {
-	c := &AccountsOrdersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsOrdersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1599,35 +1661,35 @@
 // CustomId sets the optional parameter "customId": Filter Orders that
 // match a case-insensitive, partner-specific custom id.
 func (c *AccountsOrdersListCall) CustomId(customId string) *AccountsOrdersListCall {
-	c.urlParams_.Set("customId", customId)
+	c.opt_["customId"] = customId
 	return c
 }
 
 // Name sets the optional parameter "name": Filter Orders that match a
 // title name (case-insensitive, sub-string match).
 func (c *AccountsOrdersListCall) Name(name string) *AccountsOrdersListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": See _List methods
 // rules_ for info about this field.
 func (c *AccountsOrdersListCall) PageSize(pageSize int64) *AccountsOrdersListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": See _List methods
 // rules_ for info about this field.
 func (c *AccountsOrdersListCall) PageToken(pageToken string) *AccountsOrdersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PphNames sets the optional parameter "pphNames": See _List methods
 // rules_ for info about this field.
-func (c *AccountsOrdersListCall) PphNames(pphNames []string) *AccountsOrdersListCall {
-	c.urlParams_.SetMulti("pphNames", append([]string{}, pphNames...))
+func (c *AccountsOrdersListCall) PphNames(pphNames string) *AccountsOrdersListCall {
+	c.opt_["pphNames"] = pphNames
 	return c
 }
 
@@ -1641,23 +1703,23 @@
 //   "STATUS_PROCESSING"
 //   "STATUS_UNFULFILLED"
 //   "STATUS_NOT_AVAILABLE"
-func (c *AccountsOrdersListCall) Status(status []string) *AccountsOrdersListCall {
-	c.urlParams_.SetMulti("status", append([]string{}, status...))
+func (c *AccountsOrdersListCall) Status(status string) *AccountsOrdersListCall {
+	c.opt_["status"] = status
 	return c
 }
 
 // StudioNames sets the optional parameter "studioNames": See _List
 // methods rules_ for info about this field.
-func (c *AccountsOrdersListCall) StudioNames(studioNames []string) *AccountsOrdersListCall {
-	c.urlParams_.SetMulti("studioNames", append([]string{}, studioNames...))
+func (c *AccountsOrdersListCall) StudioNames(studioNames string) *AccountsOrdersListCall {
+	c.opt_["studioNames"] = studioNames
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsOrdersListCall) Fields(s ...googleapi.Field) *AccountsOrdersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1667,13 +1729,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsOrdersListCall) IfNoneMatch(entityTag string) *AccountsOrdersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsOrdersListCall) Context(ctx context.Context) *AccountsOrdersListCall {
 	c.ctx_ = ctx
 	return c
@@ -1681,16 +1743,41 @@
 
 func (c *AccountsOrdersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customId"]; ok {
+		params.Set("customId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pphNames"]; ok {
+		params.Set("pphNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["status"]; ok {
+		params.Set("status", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioNames"]; ok {
+		params.Set("studioNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/orders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1809,18 +1896,17 @@
 // method id "playmoviespartner.accounts.storeInfos.list":
 
 type AccountsStoreInfosListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List StoreInfos owned or managed by the partner. See
 // _Authentication and Authorization rules_ and _List methods rules_ for
 // more information about this method.
 func (r *AccountsStoreInfosService) List(accountId string) *AccountsStoreInfosListCall {
-	c := &AccountsStoreInfosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsStoreInfosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
@@ -1828,43 +1914,43 @@
 // Countries sets the optional parameter "countries": Filter StoreInfos
 // that match (case-insensitive) any of the given country codes, using
 // the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us").
-func (c *AccountsStoreInfosListCall) Countries(countries []string) *AccountsStoreInfosListCall {
-	c.urlParams_.SetMulti("countries", append([]string{}, countries...))
+func (c *AccountsStoreInfosListCall) Countries(countries string) *AccountsStoreInfosListCall {
+	c.opt_["countries"] = countries
 	return c
 }
 
 // Name sets the optional parameter "name": Filter StoreInfos that match
 // a case-insensitive substring of the default name.
 func (c *AccountsStoreInfosListCall) Name(name string) *AccountsStoreInfosListCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": See _List methods
 // rules_ for info about this field.
 func (c *AccountsStoreInfosListCall) PageSize(pageSize int64) *AccountsStoreInfosListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": See _List methods
 // rules_ for info about this field.
 func (c *AccountsStoreInfosListCall) PageToken(pageToken string) *AccountsStoreInfosListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // PphNames sets the optional parameter "pphNames": See _List methods
 // rules_ for info about this field.
-func (c *AccountsStoreInfosListCall) PphNames(pphNames []string) *AccountsStoreInfosListCall {
-	c.urlParams_.SetMulti("pphNames", append([]string{}, pphNames...))
+func (c *AccountsStoreInfosListCall) PphNames(pphNames string) *AccountsStoreInfosListCall {
+	c.opt_["pphNames"] = pphNames
 	return c
 }
 
 // StudioNames sets the optional parameter "studioNames": See _List
 // methods rules_ for info about this field.
-func (c *AccountsStoreInfosListCall) StudioNames(studioNames []string) *AccountsStoreInfosListCall {
-	c.urlParams_.SetMulti("studioNames", append([]string{}, studioNames...))
+func (c *AccountsStoreInfosListCall) StudioNames(studioNames string) *AccountsStoreInfosListCall {
+	c.opt_["studioNames"] = studioNames
 	return c
 }
 
@@ -1872,22 +1958,22 @@
 // match a given `video_id`. NOTE: this field is deprecated and will be
 // removed on V2; `video_ids` should be used instead.
 func (c *AccountsStoreInfosListCall) VideoId(videoId string) *AccountsStoreInfosListCall {
-	c.urlParams_.Set("videoId", videoId)
+	c.opt_["videoId"] = videoId
 	return c
 }
 
 // VideoIds sets the optional parameter "videoIds": Filter StoreInfos
 // that match any of the given `video_id`s.
-func (c *AccountsStoreInfosListCall) VideoIds(videoIds []string) *AccountsStoreInfosListCall {
-	c.urlParams_.SetMulti("videoIds", append([]string{}, videoIds...))
+func (c *AccountsStoreInfosListCall) VideoIds(videoIds string) *AccountsStoreInfosListCall {
+	c.opt_["videoIds"] = videoIds
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsStoreInfosListCall) Fields(s ...googleapi.Field) *AccountsStoreInfosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1897,13 +1983,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsStoreInfosListCall) IfNoneMatch(entityTag string) *AccountsStoreInfosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsStoreInfosListCall) Context(ctx context.Context) *AccountsStoreInfosListCall {
 	c.ctx_ = ctx
 	return c
@@ -1911,16 +1997,44 @@
 
 func (c *AccountsStoreInfosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["countries"]; ok {
+		params.Set("countries", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pphNames"]; ok {
+		params.Set("pphNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["studioNames"]; ok {
+		params.Set("studioNames", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoId"]; ok {
+		params.Set("videoId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoIds"]; ok {
+		params.Set("videoIds", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/storeInfos")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2037,31 +2151,30 @@
 // method id "playmoviespartner.accounts.storeInfos.country.get":
 
 type AccountsStoreInfosCountryGetCall struct {
-	s            *Service
-	accountId    string
-	videoId      string
-	country      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	videoId   string
+	country   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get a StoreInfo given its video id and country. See
 // _Authentication and Authorization rules_ and _Get methods rules_ for
 // more information about this method.
 func (r *AccountsStoreInfosCountryService) Get(accountId string, videoId string, country string) *AccountsStoreInfosCountryGetCall {
-	c := &AccountsStoreInfosCountryGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsStoreInfosCountryGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.videoId = videoId
 	c.country = country
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsStoreInfosCountryGetCall) Fields(s ...googleapi.Field) *AccountsStoreInfosCountryGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2071,13 +2184,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsStoreInfosCountryGetCall) IfNoneMatch(entityTag string) *AccountsStoreInfosCountryGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsStoreInfosCountryGetCall) Context(ctx context.Context) *AccountsStoreInfosCountryGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2085,9 +2198,13 @@
 
 func (c *AccountsStoreInfosCountryGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -2095,8 +2212,8 @@
 		"country":   c.country,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/plus/v1/plus-gen.go b/plus/v1/plus-gen.go
index 3d2ed7b..5c190b4 100644
--- a/plus/v1/plus-gen.go
+++ b/plus/v1/plus-gen.go
@@ -1986,25 +1986,24 @@
 // method id "plus.activities.get":
 
 type ActivitiesGetCall struct {
-	s            *Service
-	activityId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	activityId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Get an activity.
 func (r *ActivitiesService) Get(activityId string) *ActivitiesGetCall {
-	c := &ActivitiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesGetCall) Fields(s ...googleapi.Field) *ActivitiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2014,13 +2013,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesGetCall) IfNoneMatch(entityTag string) *ActivitiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesGetCall) Context(ctx context.Context) *ActivitiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2028,16 +2027,20 @@
 
 func (c *ActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2110,18 +2113,17 @@
 // method id "plus.activities.list":
 
 type ActivitiesListCall struct {
-	s            *Service
-	userId       string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	userId     string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the activities in the specified collection for a
 // particular user.
 func (r *ActivitiesService) List(userId string, collection string) *ActivitiesListCall {
-	c := &ActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	return c
@@ -2132,7 +2134,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2141,15 +2143,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2159,13 +2161,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2173,17 +2175,27 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/activities/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":     c.userId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2283,16 +2295,16 @@
 // method id "plus.activities.search":
 
 type ActivitiesSearchCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	query string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Search: Search public activities.
 func (r *ActivitiesService) Search(query string) *ActivitiesSearchCall {
-	c := &ActivitiesSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("query", query)
+	c := &ActivitiesSearchCall{s: r.s, opt_: make(map[string]interface{})}
+	c.query = query
 	return c
 }
 
@@ -2300,7 +2312,7 @@
 // preferred language to search with. See search language codes for
 // available values.
 func (c *ActivitiesSearchCall) Language(language string) *ActivitiesSearchCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -2309,7 +2321,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *ActivitiesSearchCall) MaxResults(maxResults int64) *ActivitiesSearchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2322,7 +2334,7 @@
 //   "recent" (default) - Sort activities by published date, most recent
 // first.
 func (c *ActivitiesSearchCall) OrderBy(orderBy string) *ActivitiesSearchCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -2332,15 +2344,15 @@
 // "nextPageToken" from the previous response. This token can be of any
 // length.
 func (c *ActivitiesSearchCall) PageToken(pageToken string) *ActivitiesSearchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesSearchCall) Fields(s ...googleapi.Field) *ActivitiesSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2350,13 +2362,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesSearchCall) IfNoneMatch(entityTag string) *ActivitiesSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesSearchCall) Context(ctx context.Context) *ActivitiesSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -2364,14 +2376,31 @@
 
 func (c *ActivitiesSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("query", fmt.Sprintf("%v", c.query))
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2478,25 +2507,24 @@
 // method id "plus.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get a comment.
 func (r *CommentsService) Get(commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2506,13 +2534,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2520,16 +2548,20 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2602,16 +2634,15 @@
 // method id "plus.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	activityId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	activityId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the comments for an activity.
 func (r *CommentsService) List(activityId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	return c
 }
@@ -2621,7 +2652,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2630,7 +2661,7 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2641,15 +2672,15 @@
 //   "ascending" (default) - Sort oldest comments first.
 //   "descending" - Sort newest comments first.
 func (c *CommentsListCall) SortOrder(sortOrder string) *CommentsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2659,13 +2690,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2673,16 +2704,29 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2787,14 +2831,14 @@
 	userId     string
 	collection string
 	moment     *Moment
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Record a moment representing a user's action such as making a
 // purchase or commenting on a blog.
 func (r *MomentsService) Insert(userId string, collection string, moment *Moment) *MomentsInsertCall {
-	c := &MomentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MomentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	c.moment = moment
@@ -2804,21 +2848,21 @@
 // Debug sets the optional parameter "debug": Return the moment as
 // written. Should be used only for debugging.
 func (c *MomentsInsertCall) Debug(debug bool) *MomentsInsertCall {
-	c.urlParams_.Set("debug", fmt.Sprintf("%v", debug))
+	c.opt_["debug"] = debug
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MomentsInsertCall) Fields(s ...googleapi.Field) *MomentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MomentsInsertCall) Context(ctx context.Context) *MomentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2831,9 +2875,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["debug"]; ok {
+		params.Set("debug", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/moments/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":     c.userId,
@@ -2933,17 +2984,16 @@
 // method id "plus.moments.list":
 
 type MomentsListCall struct {
-	s            *Service
-	userId       string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	userId     string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the moments for a particular user.
 func (r *MomentsService) List(userId string, collection string) *MomentsListCall {
-	c := &MomentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MomentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	return c
@@ -2954,7 +3004,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *MomentsListCall) MaxResults(maxResults int64) *MomentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2963,29 +3013,29 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *MomentsListCall) PageToken(pageToken string) *MomentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // TargetUrl sets the optional parameter "targetUrl": Only moments
 // containing this targetUrl will be returned.
 func (c *MomentsListCall) TargetUrl(targetUrl string) *MomentsListCall {
-	c.urlParams_.Set("targetUrl", targetUrl)
+	c.opt_["targetUrl"] = targetUrl
 	return c
 }
 
 // Type sets the optional parameter "type": Only moments of this type
 // will be returned.
 func (c *MomentsListCall) Type(type_ string) *MomentsListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MomentsListCall) Fields(s ...googleapi.Field) *MomentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2995,13 +3045,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *MomentsListCall) IfNoneMatch(entityTag string) *MomentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *MomentsListCall) Context(ctx context.Context) *MomentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3009,17 +3059,33 @@
 
 func (c *MomentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["targetUrl"]; ok {
+		params.Set("targetUrl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/moments/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":     c.userId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3129,27 +3195,26 @@
 // method id "plus.people.get":
 
 type PeopleGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get a person's profile. If your app uses scope
 // https://www.googleapis.com/auth/plus.login, this method is guaranteed
 // to return ageRange and language.
 func (r *PeopleService) Get(userId string) *PeopleGetCall {
-	c := &PeopleGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleGetCall) Fields(s ...googleapi.Field) *PeopleGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3159,13 +3224,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleGetCall) IfNoneMatch(entityTag string) *PeopleGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleGetCall) Context(ctx context.Context) *PeopleGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3173,16 +3238,20 @@
 
 func (c *PeopleGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3257,17 +3326,16 @@
 // method id "plus.people.list":
 
 type PeopleListCall struct {
-	s            *Service
-	userId       string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	userId     string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the people in the specified collection.
 func (r *PeopleService) List(userId string, collection string) *PeopleListCall {
-	c := &PeopleListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	return c
@@ -3278,7 +3346,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *PeopleListCall) MaxResults(maxResults int64) *PeopleListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3289,7 +3357,7 @@
 //   "alphabetical" - Order the people by their display name.
 //   "best" - Order people based on the relevence to the viewer.
 func (c *PeopleListCall) OrderBy(orderBy string) *PeopleListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -3298,15 +3366,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *PeopleListCall) PageToken(pageToken string) *PeopleListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleListCall) Fields(s ...googleapi.Field) *PeopleListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3316,13 +3384,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleListCall) IfNoneMatch(entityTag string) *PeopleListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleListCall) Context(ctx context.Context) *PeopleListCall {
 	c.ctx_ = ctx
 	return c
@@ -3330,17 +3398,30 @@
 
 func (c *PeopleListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/people/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":     c.userId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3455,18 +3536,17 @@
 // method id "plus.people.listByActivity":
 
 type PeopleListByActivityCall struct {
-	s            *Service
-	activityId   string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	activityId string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // ListByActivity: List all of the people in the specified collection
 // for a particular activity.
 func (r *PeopleService) ListByActivity(activityId string, collection string) *PeopleListByActivityCall {
-	c := &PeopleListByActivityCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleListByActivityCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	c.collection = collection
 	return c
@@ -3477,7 +3557,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *PeopleListByActivityCall) MaxResults(maxResults int64) *PeopleListByActivityCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3486,15 +3566,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *PeopleListByActivityCall) PageToken(pageToken string) *PeopleListByActivityCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleListByActivityCall) Fields(s ...googleapi.Field) *PeopleListByActivityCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3504,13 +3584,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleListByActivityCall) IfNoneMatch(entityTag string) *PeopleListByActivityCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleListByActivityCall) Context(ctx context.Context) *PeopleListByActivityCall {
 	c.ctx_ = ctx
 	return c
@@ -3518,17 +3598,27 @@
 
 func (c *PeopleListByActivityCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/people/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3630,16 +3720,16 @@
 // method id "plus.people.search":
 
 type PeopleSearchCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	query string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Search: Search all public profiles.
 func (r *PeopleService) Search(query string) *PeopleSearchCall {
-	c := &PeopleSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("query", query)
+	c := &PeopleSearchCall{s: r.s, opt_: make(map[string]interface{})}
+	c.query = query
 	return c
 }
 
@@ -3647,7 +3737,7 @@
 // preferred language to search with. See search language codes for
 // available values.
 func (c *PeopleSearchCall) Language(language string) *PeopleSearchCall {
-	c.urlParams_.Set("language", language)
+	c.opt_["language"] = language
 	return c
 }
 
@@ -3656,7 +3746,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *PeopleSearchCall) MaxResults(maxResults int64) *PeopleSearchCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3666,15 +3756,15 @@
 // "nextPageToken" from the previous response. This token can be of any
 // length.
 func (c *PeopleSearchCall) PageToken(pageToken string) *PeopleSearchCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleSearchCall) Fields(s ...googleapi.Field) *PeopleSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3684,13 +3774,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleSearchCall) IfNoneMatch(entityTag string) *PeopleSearchCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleSearchCall) Context(ctx context.Context) *PeopleSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -3698,14 +3788,28 @@
 
 func (c *PeopleSearchCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("query", fmt.Sprintf("%v", c.query))
+	if v, ok := c.opt_["language"]; ok {
+		params.Set("language", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/plusdomains/v1/plusdomains-gen.go b/plusdomains/v1/plusdomains-gen.go
index 3b2706e..4f29473 100644
--- a/plusdomains/v1/plusdomains-gen.go
+++ b/plusdomains/v1/plusdomains-gen.go
@@ -2108,25 +2108,24 @@
 // method id "plusDomains.activities.get":
 
 type ActivitiesGetCall struct {
-	s            *Service
-	activityId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	activityId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Get an activity.
 func (r *ActivitiesService) Get(activityId string) *ActivitiesGetCall {
-	c := &ActivitiesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesGetCall) Fields(s ...googleapi.Field) *ActivitiesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2136,13 +2135,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesGetCall) IfNoneMatch(entityTag string) *ActivitiesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesGetCall) Context(ctx context.Context) *ActivitiesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2150,16 +2149,20 @@
 
 func (c *ActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2233,16 +2236,16 @@
 // method id "plusDomains.activities.insert":
 
 type ActivitiesInsertCall struct {
-	s          *Service
-	userId     string
-	activity   *Activity
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	userId   string
+	activity *Activity
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Create a new activity for the authenticated user.
 func (r *ActivitiesService) Insert(userId string, activity *Activity) *ActivitiesInsertCall {
-	c := &ActivitiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.activity = activity
 	return c
@@ -2253,21 +2256,21 @@
 // possible attachments for a URL, including video, photos, and articles
 // based on the content of the page.
 func (c *ActivitiesInsertCall) Preview(preview bool) *ActivitiesInsertCall {
-	c.urlParams_.Set("preview", fmt.Sprintf("%v", preview))
+	c.opt_["preview"] = preview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesInsertCall) Fields(s ...googleapi.Field) *ActivitiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesInsertCall) Context(ctx context.Context) *ActivitiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2280,9 +2283,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["preview"]; ok {
+		params.Set("preview", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/activities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -2369,18 +2379,17 @@
 // method id "plusDomains.activities.list":
 
 type ActivitiesListCall struct {
-	s            *Service
-	userId       string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	userId     string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the activities in the specified collection for a
 // particular user.
 func (r *ActivitiesService) List(userId string, collection string) *ActivitiesListCall {
-	c := &ActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	return c
@@ -2391,7 +2400,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2400,15 +2409,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2418,13 +2427,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2432,17 +2441,27 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/activities/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":     c.userId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2543,16 +2562,15 @@
 // method id "plusDomains.audiences.list":
 
 type AudiencesListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: List all of the audiences to which a user can share.
 func (r *AudiencesService) List(userId string) *AudiencesListCall {
-	c := &AudiencesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AudiencesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -2562,7 +2580,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *AudiencesListCall) MaxResults(maxResults int64) *AudiencesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2571,15 +2589,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *AudiencesListCall) PageToken(pageToken string) *AudiencesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AudiencesListCall) Fields(s ...googleapi.Field) *AudiencesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2589,13 +2607,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AudiencesListCall) IfNoneMatch(entityTag string) *AudiencesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AudiencesListCall) Context(ctx context.Context) *AudiencesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2603,16 +2621,26 @@
 
 func (c *AudiencesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/audiences")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2700,45 +2728,45 @@
 // method id "plusDomains.circles.addPeople":
 
 type CirclesAddPeopleCall struct {
-	s          *Service
-	circleId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	circleId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // AddPeople: Add a person to a circle. Google+ limits certain circle
 // operations, including the number of circle adds. Learn More.
 func (r *CirclesService) AddPeople(circleId string) *CirclesAddPeopleCall {
-	c := &CirclesAddPeopleCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesAddPeopleCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	return c
 }
 
 // Email sets the optional parameter "email": Email of the people to add
 // to the circle. Optional, can be repeated.
-func (c *CirclesAddPeopleCall) Email(email []string) *CirclesAddPeopleCall {
-	c.urlParams_.SetMulti("email", append([]string{}, email...))
+func (c *CirclesAddPeopleCall) Email(email string) *CirclesAddPeopleCall {
+	c.opt_["email"] = email
 	return c
 }
 
 // UserId sets the optional parameter "userId": IDs of the people to add
 // to the circle. Optional, can be repeated.
-func (c *CirclesAddPeopleCall) UserId(userId []string) *CirclesAddPeopleCall {
-	c.urlParams_.SetMulti("userId", append([]string{}, userId...))
+func (c *CirclesAddPeopleCall) UserId(userId string) *CirclesAddPeopleCall {
+	c.opt_["userId"] = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesAddPeopleCall) Fields(s ...googleapi.Field) *CirclesAddPeopleCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesAddPeopleCall) Context(ctx context.Context) *CirclesAddPeopleCall {
 	c.ctx_ = ctx
 	return c
@@ -2746,9 +2774,19 @@
 
 func (c *CirclesAddPeopleCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["email"]; ok {
+		params.Set("email", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userId"]; ok {
+		params.Set("userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}/people")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
@@ -2837,25 +2875,24 @@
 // method id "plusDomains.circles.get":
 
 type CirclesGetCall struct {
-	s            *Service
-	circleId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	circleId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Get a circle.
 func (r *CirclesService) Get(circleId string) *CirclesGetCall {
-	c := &CirclesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesGetCall) Fields(s ...googleapi.Field) *CirclesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2865,13 +2902,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CirclesGetCall) IfNoneMatch(entityTag string) *CirclesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesGetCall) Context(ctx context.Context) *CirclesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2879,16 +2916,20 @@
 
 func (c *CirclesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2961,32 +3002,32 @@
 // method id "plusDomains.circles.insert":
 
 type CirclesInsertCall struct {
-	s          *Service
-	userId     string
-	circle     *Circle
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	userId string
+	circle *Circle
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Create a new circle for the authenticated user.
 func (r *CirclesService) Insert(userId string, circle *Circle) *CirclesInsertCall {
-	c := &CirclesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.circle = circle
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesInsertCall) Fields(s ...googleapi.Field) *CirclesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesInsertCall) Context(ctx context.Context) *CirclesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2999,9 +3040,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/circles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
@@ -3083,16 +3128,15 @@
 // method id "plusDomains.circles.list":
 
 type CirclesListCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: List all of the circles for a user.
 func (r *CirclesService) List(userId string) *CirclesListCall {
-	c := &CirclesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
@@ -3102,7 +3146,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *CirclesListCall) MaxResults(maxResults int64) *CirclesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3111,15 +3155,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *CirclesListCall) PageToken(pageToken string) *CirclesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesListCall) Fields(s ...googleapi.Field) *CirclesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3129,13 +3173,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CirclesListCall) IfNoneMatch(entityTag string) *CirclesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesListCall) Context(ctx context.Context) *CirclesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3143,16 +3187,26 @@
 
 func (c *CirclesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/circles")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3240,33 +3294,33 @@
 // method id "plusDomains.circles.patch":
 
 type CirclesPatchCall struct {
-	s          *Service
-	circleId   string
-	circle     *Circle
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	circleId string
+	circle   *Circle
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Patch: Update a circle's description. This method supports patch
 // semantics.
 func (r *CirclesService) Patch(circleId string, circle *Circle) *CirclesPatchCall {
-	c := &CirclesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	c.circle = circle
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesPatchCall) Fields(s ...googleapi.Field) *CirclesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesPatchCall) Context(ctx context.Context) *CirclesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3279,9 +3333,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
@@ -3362,30 +3420,30 @@
 // method id "plusDomains.circles.remove":
 
 type CirclesRemoveCall struct {
-	s          *Service
-	circleId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	circleId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Remove: Delete a circle.
 func (r *CirclesService) Remove(circleId string) *CirclesRemoveCall {
-	c := &CirclesRemoveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesRemoveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesRemoveCall) Fields(s ...googleapi.Field) *CirclesRemoveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesRemoveCall) Context(ctx context.Context) *CirclesRemoveCall {
 	c.ctx_ = ctx
 	return c
@@ -3393,9 +3451,13 @@
 
 func (c *CirclesRemoveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
@@ -3445,44 +3507,44 @@
 // method id "plusDomains.circles.removePeople":
 
 type CirclesRemovePeopleCall struct {
-	s          *Service
-	circleId   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	circleId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // RemovePeople: Remove a person from a circle.
 func (r *CirclesService) RemovePeople(circleId string) *CirclesRemovePeopleCall {
-	c := &CirclesRemovePeopleCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesRemovePeopleCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	return c
 }
 
 // Email sets the optional parameter "email": Email of the people to add
 // to the circle. Optional, can be repeated.
-func (c *CirclesRemovePeopleCall) Email(email []string) *CirclesRemovePeopleCall {
-	c.urlParams_.SetMulti("email", append([]string{}, email...))
+func (c *CirclesRemovePeopleCall) Email(email string) *CirclesRemovePeopleCall {
+	c.opt_["email"] = email
 	return c
 }
 
 // UserId sets the optional parameter "userId": IDs of the people to
 // remove from the circle. Optional, can be repeated.
-func (c *CirclesRemovePeopleCall) UserId(userId []string) *CirclesRemovePeopleCall {
-	c.urlParams_.SetMulti("userId", append([]string{}, userId...))
+func (c *CirclesRemovePeopleCall) UserId(userId string) *CirclesRemovePeopleCall {
+	c.opt_["userId"] = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesRemovePeopleCall) Fields(s ...googleapi.Field) *CirclesRemovePeopleCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesRemovePeopleCall) Context(ctx context.Context) *CirclesRemovePeopleCall {
 	c.ctx_ = ctx
 	return c
@@ -3490,9 +3552,19 @@
 
 func (c *CirclesRemovePeopleCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["email"]; ok {
+		params.Set("email", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["userId"]; ok {
+		params.Set("userId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}/people")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
@@ -3554,32 +3626,32 @@
 // method id "plusDomains.circles.update":
 
 type CirclesUpdateCall struct {
-	s          *Service
-	circleId   string
-	circle     *Circle
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	circleId string
+	circle   *Circle
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Update a circle's description.
 func (r *CirclesService) Update(circleId string, circle *Circle) *CirclesUpdateCall {
-	c := &CirclesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CirclesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	c.circle = circle
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CirclesUpdateCall) Fields(s ...googleapi.Field) *CirclesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CirclesUpdateCall) Context(ctx context.Context) *CirclesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3592,9 +3664,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
@@ -3675,25 +3751,24 @@
 // method id "plusDomains.comments.get":
 
 type CommentsGetCall struct {
-	s            *Service
-	commentId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	commentId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get a comment.
 func (r *CommentsService) Get(commentId string) *CommentsGetCall {
-	c := &CommentsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.commentId = commentId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3703,13 +3778,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3717,16 +3792,20 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments/{commentId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"commentId": c.commentId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3802,29 +3881,29 @@
 	s          *Service
 	activityId string
 	comment    *Comment
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Create a new comment in reply to an activity.
 func (r *CommentsService) Insert(activityId string, comment *Comment) *CommentsInsertCall {
-	c := &CommentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	c.comment = comment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsInsertCall) Fields(s ...googleapi.Field) *CommentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsInsertCall) Context(ctx context.Context) *CommentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3837,9 +3916,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
@@ -3920,16 +4003,15 @@
 // method id "plusDomains.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	activityId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	activityId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the comments for an activity.
 func (r *CommentsService) List(activityId string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	return c
 }
@@ -3939,7 +4021,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3948,7 +4030,7 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -3959,15 +4041,15 @@
 //   "ascending" (default) - Sort oldest comments first.
 //   "descending" - Sort newest comments first.
 func (c *CommentsListCall) SortOrder(sortOrder string) *CommentsListCall {
-	c.urlParams_.Set("sortOrder", sortOrder)
+	c.opt_["sortOrder"] = sortOrder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3977,13 +4059,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3991,16 +4073,29 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sortOrder"]; ok {
+		params.Set("sortOrder", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4101,17 +4196,16 @@
 // method id "plusDomains.media.insert":
 
 type MediaInsertCall struct {
-	s                *Service
-	userId           string
-	collection       string
-	media            *Media
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	userId     string
+	collection string
+	media      *Media
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Add a new media item to an album. The current upload size
@@ -4119,27 +4213,27 @@
 // count against quota if photos are less than 2048 pixels on their
 // longest side or videos are less than 15 minutes in length.
 func (r *MediaService) Insert(userId string, collection string, media *Media) *MediaInsertCall {
-	c := &MediaInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &MediaInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	c.media = media
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *MediaInsertCall) Media(r io.Reader) *MediaInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *MediaInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -4148,28 +4242,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *MediaInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *MediaInsertCall) Fields(s ...googleapi.Field) *MediaInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *MediaInsertCall) Context(ctx context.Context) *MediaInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4182,13 +4275,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/media/{collection}")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -4242,6 +4339,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -4251,7 +4354,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -4332,25 +4435,24 @@
 // method id "plusDomains.people.get":
 
 type PeopleGetCall struct {
-	s            *Service
-	userId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	userId string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Get a person's profile.
 func (r *PeopleService) Get(userId string) *PeopleGetCall {
-	c := &PeopleGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleGetCall) Fields(s ...googleapi.Field) *PeopleGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4360,13 +4462,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleGetCall) IfNoneMatch(entityTag string) *PeopleGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleGetCall) Context(ctx context.Context) *PeopleGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4374,16 +4476,20 @@
 
 func (c *PeopleGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId": c.userId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4459,17 +4565,16 @@
 // method id "plusDomains.people.list":
 
 type PeopleListCall struct {
-	s            *Service
-	userId       string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	userId     string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List all of the people in the specified collection.
 func (r *PeopleService) List(userId string, collection string) *PeopleListCall {
-	c := &PeopleListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.userId = userId
 	c.collection = collection
 	return c
@@ -4480,7 +4585,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *PeopleListCall) MaxResults(maxResults int64) *PeopleListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4491,7 +4596,7 @@
 //   "alphabetical" - Order the people by their display name.
 //   "best" - Order people based on the relevence to the viewer.
 func (c *PeopleListCall) OrderBy(orderBy string) *PeopleListCall {
-	c.urlParams_.Set("orderBy", orderBy)
+	c.opt_["orderBy"] = orderBy
 	return c
 }
 
@@ -4500,15 +4605,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *PeopleListCall) PageToken(pageToken string) *PeopleListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleListCall) Fields(s ...googleapi.Field) *PeopleListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4518,13 +4623,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleListCall) IfNoneMatch(entityTag string) *PeopleListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleListCall) Context(ctx context.Context) *PeopleListCall {
 	c.ctx_ = ctx
 	return c
@@ -4532,17 +4637,30 @@
 
 func (c *PeopleListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["orderBy"]; ok {
+		params.Set("orderBy", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/people/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"userId":     c.userId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4656,18 +4774,17 @@
 // method id "plusDomains.people.listByActivity":
 
 type PeopleListByActivityCall struct {
-	s            *Service
-	activityId   string
-	collection   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	activityId string
+	collection string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // ListByActivity: List all of the people in the specified collection
 // for a particular activity.
 func (r *PeopleService) ListByActivity(activityId string, collection string) *PeopleListByActivityCall {
-	c := &PeopleListByActivityCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleListByActivityCall{s: r.s, opt_: make(map[string]interface{})}
 	c.activityId = activityId
 	c.collection = collection
 	return c
@@ -4678,7 +4795,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *PeopleListByActivityCall) MaxResults(maxResults int64) *PeopleListByActivityCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4687,15 +4804,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *PeopleListByActivityCall) PageToken(pageToken string) *PeopleListByActivityCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleListByActivityCall) Fields(s ...googleapi.Field) *PeopleListByActivityCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4705,13 +4822,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleListByActivityCall) IfNoneMatch(entityTag string) *PeopleListByActivityCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleListByActivityCall) Context(ctx context.Context) *PeopleListByActivityCall {
 	c.ctx_ = ctx
 	return c
@@ -4719,17 +4836,27 @@
 
 func (c *PeopleListByActivityCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/people/{collection}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"activityId": c.activityId,
 		"collection": c.collection,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4833,16 +4960,15 @@
 // method id "plusDomains.people.listByCircle":
 
 type PeopleListByCircleCall struct {
-	s            *Service
-	circleId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	circleId string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // ListByCircle: List all of the people who are members of a circle.
 func (r *PeopleService) ListByCircle(circleId string) *PeopleListByCircleCall {
-	c := &PeopleListByCircleCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PeopleListByCircleCall{s: r.s, opt_: make(map[string]interface{})}
 	c.circleId = circleId
 	return c
 }
@@ -4852,7 +4978,7 @@
 // paging. For any response, the actual number returned might be less
 // than the specified maxResults.
 func (c *PeopleListByCircleCall) MaxResults(maxResults int64) *PeopleListByCircleCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -4861,15 +4987,15 @@
 // next page of results, set this parameter to the value of
 // "nextPageToken" from the previous response.
 func (c *PeopleListByCircleCall) PageToken(pageToken string) *PeopleListByCircleCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PeopleListByCircleCall) Fields(s ...googleapi.Field) *PeopleListByCircleCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4879,13 +5005,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PeopleListByCircleCall) IfNoneMatch(entityTag string) *PeopleListByCircleCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PeopleListByCircleCall) Context(ctx context.Context) *PeopleListByCircleCall {
 	c.ctx_ = ctx
 	return c
@@ -4893,16 +5019,26 @@
 
 func (c *PeopleListByCircleCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "circles/{circleId}/people")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"circleId": c.circleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/prediction/v1.2/prediction-gen.go b/prediction/v1.2/prediction-gen.go
index 0a0ea16..59df1d9 100644
--- a/prediction/v1.2/prediction-gen.go
+++ b/prediction/v1.2/prediction-gen.go
@@ -269,32 +269,32 @@
 // method id "prediction.predict":
 
 type PredictCall struct {
-	s          *Service
-	data       string
-	input      *Input
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	data  string
+	input *Input
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Predict: Submit data and request a prediction
 func (s *Service) Predict(data string, input *Input) *PredictCall {
-	c := &PredictCall{s: s, urlParams_: make(internal.URLParams)}
+	c := &PredictCall{s: s, opt_: make(map[string]interface{})}
 	c.data = data
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PredictCall) Fields(s ...googleapi.Field) *PredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PredictCall) Context(ctx context.Context) *PredictCall {
 	c.ctx_ = ctx
 	return c
@@ -307,9 +307,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
@@ -392,29 +396,29 @@
 	s               *Service
 	hostedModelName string
 	input           *Input
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Predict: Submit input and request an output against a hosted model
 func (r *HostedmodelsService) Predict(hostedModelName string, input *Input) *HostedmodelsPredictCall {
-	c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HostedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.hostedModelName = hostedModelName
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -427,9 +431,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "hostedmodels/{hostedModelName}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"hostedModelName": c.hostedModelName,
@@ -509,30 +517,30 @@
 // method id "prediction.training.delete":
 
 type TrainingDeleteCall struct {
-	s          *Service
-	data       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	data string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a trained model
 func (r *TrainingService) Delete(data string) *TrainingDeleteCall {
-	c := &TrainingDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingDeleteCall) Fields(s ...googleapi.Field) *TrainingDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingDeleteCall) Context(ctx context.Context) *TrainingDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -540,9 +548,13 @@
 
 func (c *TrainingDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
@@ -591,25 +603,24 @@
 // method id "prediction.training.get":
 
 type TrainingGetCall struct {
-	s            *Service
-	data         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	data string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Check training status of your model
 func (r *TrainingService) Get(data string) *TrainingGetCall {
-	c := &TrainingGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingGetCall) Fields(s ...googleapi.Field) *TrainingGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -619,13 +630,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainingGetCall) IfNoneMatch(entityTag string) *TrainingGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingGetCall) Context(ctx context.Context) *TrainingGetCall {
 	c.ctx_ = ctx
 	return c
@@ -633,16 +644,20 @@
 
 func (c *TrainingGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -714,15 +729,15 @@
 // method id "prediction.training.insert":
 
 type TrainingInsertCall struct {
-	s          *Service
-	training   *Training
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	training *Training
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Begin training your model
 func (r *TrainingService) Insert(training *Training) *TrainingInsertCall {
-	c := &TrainingInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.training = training
 	return c
 }
@@ -730,21 +745,21 @@
 // Data sets the optional parameter "data": mybucket/mydata resource in
 // Google Storage
 func (c *TrainingInsertCall) Data(data string) *TrainingInsertCall {
-	c.urlParams_.Set("data", data)
+	c.opt_["data"] = data
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingInsertCall) Fields(s ...googleapi.Field) *TrainingInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingInsertCall) Context(ctx context.Context) *TrainingInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -757,9 +772,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["data"]; ok {
+		params.Set("data", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -836,32 +858,32 @@
 // method id "prediction.training.update":
 
 type TrainingUpdateCall struct {
-	s          *Service
-	data       string
-	update     *Update
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	data   string
+	update *Update
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Add new data to a trained model
 func (r *TrainingService) Update(data string, update *Update) *TrainingUpdateCall {
-	c := &TrainingUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	c.update = update
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingUpdateCall) Fields(s ...googleapi.Field) *TrainingUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingUpdateCall) Context(ctx context.Context) *TrainingUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -874,9 +896,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
diff --git a/prediction/v1.3/prediction-gen.go b/prediction/v1.3/prediction-gen.go
index 54ae29c..c4c17c1 100644
--- a/prediction/v1.3/prediction-gen.go
+++ b/prediction/v1.3/prediction-gen.go
@@ -349,29 +349,29 @@
 	s               *Service
 	hostedModelName string
 	input           *Input
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Predict: Submit input and request an output against a hosted model
 func (r *HostedmodelsService) Predict(hostedModelName string, input *Input) *HostedmodelsPredictCall {
-	c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HostedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.hostedModelName = hostedModelName
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -384,9 +384,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "hostedmodels/{hostedModelName}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"hostedModelName": c.hostedModelName,
@@ -466,30 +470,30 @@
 // method id "prediction.training.delete":
 
 type TrainingDeleteCall struct {
-	s          *Service
-	data       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	data string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a trained model
 func (r *TrainingService) Delete(data string) *TrainingDeleteCall {
-	c := &TrainingDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingDeleteCall) Fields(s ...googleapi.Field) *TrainingDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingDeleteCall) Context(ctx context.Context) *TrainingDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -497,9 +501,13 @@
 
 func (c *TrainingDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
@@ -548,25 +556,24 @@
 // method id "prediction.training.get":
 
 type TrainingGetCall struct {
-	s            *Service
-	data         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	data string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Check training status of your model
 func (r *TrainingService) Get(data string) *TrainingGetCall {
-	c := &TrainingGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingGetCall) Fields(s ...googleapi.Field) *TrainingGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -576,13 +583,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainingGetCall) IfNoneMatch(entityTag string) *TrainingGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingGetCall) Context(ctx context.Context) *TrainingGetCall {
 	c.ctx_ = ctx
 	return c
@@ -590,16 +597,20 @@
 
 func (c *TrainingGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -671,30 +682,30 @@
 // method id "prediction.training.insert":
 
 type TrainingInsertCall struct {
-	s          *Service
-	training   *Training
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	training *Training
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Begin training your model
 func (r *TrainingService) Insert(training *Training) *TrainingInsertCall {
-	c := &TrainingInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.training = training
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingInsertCall) Fields(s ...googleapi.Field) *TrainingInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingInsertCall) Context(ctx context.Context) *TrainingInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -707,9 +718,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -779,32 +794,32 @@
 // method id "prediction.training.predict":
 
 type TrainingPredictCall struct {
-	s          *Service
-	data       string
-	input      *Input
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	data  string
+	input *Input
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Predict: Submit data and request a prediction
 func (r *TrainingService) Predict(data string, input *Input) *TrainingPredictCall {
-	c := &TrainingPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingPredictCall) Fields(s ...googleapi.Field) *TrainingPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingPredictCall) Context(ctx context.Context) *TrainingPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -817,9 +832,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
@@ -899,32 +918,32 @@
 // method id "prediction.training.update":
 
 type TrainingUpdateCall struct {
-	s          *Service
-	data       string
-	update     *Update
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	data   string
+	update *Update
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Add new data to a trained model
 func (r *TrainingService) Update(data string, update *Update) *TrainingUpdateCall {
-	c := &TrainingUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainingUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.data = data
 	c.update = update
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainingUpdateCall) Fields(s ...googleapi.Field) *TrainingUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainingUpdateCall) Context(ctx context.Context) *TrainingUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -937,9 +956,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"data": c.data,
diff --git a/prediction/v1.4/prediction-gen.go b/prediction/v1.4/prediction-gen.go
index d3357df..5a36b99 100644
--- a/prediction/v1.4/prediction-gen.go
+++ b/prediction/v1.4/prediction-gen.go
@@ -387,29 +387,29 @@
 	s               *Service
 	hostedModelName string
 	input           *Input
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Predict: Submit input and request an output against a hosted model.
 func (r *HostedmodelsService) Predict(hostedModelName string, input *Input) *HostedmodelsPredictCall {
-	c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HostedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.hostedModelName = hostedModelName
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -422,9 +422,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "hostedmodels/{hostedModelName}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"hostedModelName": c.hostedModelName,
@@ -504,30 +508,30 @@
 // method id "prediction.trainedmodels.delete":
 
 type TrainedmodelsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a trained model.
 func (r *TrainedmodelsService) Delete(id string) *TrainedmodelsDeleteCall {
-	c := &TrainedmodelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsDeleteCall) Fields(s ...googleapi.Field) *TrainedmodelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsDeleteCall) Context(ctx context.Context) *TrainedmodelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -535,9 +539,13 @@
 
 func (c *TrainedmodelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -586,25 +594,24 @@
 // method id "prediction.trainedmodels.get":
 
 type TrainedmodelsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Check training status of your model.
 func (r *TrainedmodelsService) Get(id string) *TrainedmodelsGetCall {
-	c := &TrainedmodelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsGetCall) Fields(s ...googleapi.Field) *TrainedmodelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -614,13 +621,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsGetCall) IfNoneMatch(entityTag string) *TrainedmodelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsGetCall) Context(ctx context.Context) *TrainedmodelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -628,16 +635,20 @@
 
 func (c *TrainedmodelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -709,30 +720,30 @@
 // method id "prediction.trainedmodels.insert":
 
 type TrainedmodelsInsertCall struct {
-	s          *Service
-	training   *Training
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	training *Training
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Begin training your model.
 func (r *TrainedmodelsService) Insert(training *Training) *TrainedmodelsInsertCall {
-	c := &TrainedmodelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.training = training
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsInsertCall) Fields(s ...googleapi.Field) *TrainedmodelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsInsertCall) Context(ctx context.Context) *TrainedmodelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -745,9 +756,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -817,32 +832,32 @@
 // method id "prediction.trainedmodels.predict":
 
 type TrainedmodelsPredictCall struct {
-	s          *Service
-	id         string
-	input      *Input
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	id    string
+	input *Input
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Predict: Submit model id and request a prediction
 func (r *TrainedmodelsService) Predict(id string, input *Input) *TrainedmodelsPredictCall {
-	c := &TrainedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsPredictCall) Fields(s ...googleapi.Field) *TrainedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsPredictCall) Context(ctx context.Context) *TrainedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -855,9 +870,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -937,32 +956,32 @@
 // method id "prediction.trainedmodels.update":
 
 type TrainedmodelsUpdateCall struct {
-	s          *Service
-	id         string
-	update     *Update
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	update *Update
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Add new data to a trained model.
 func (r *TrainedmodelsService) Update(id string, update *Update) *TrainedmodelsUpdateCall {
-	c := &TrainedmodelsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.update = update
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsUpdateCall) Fields(s ...googleapi.Field) *TrainedmodelsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsUpdateCall) Context(ctx context.Context) *TrainedmodelsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -975,9 +994,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
diff --git a/prediction/v1.5/prediction-gen.go b/prediction/v1.5/prediction-gen.go
index 7da27cc..fb3bad2 100644
--- a/prediction/v1.5/prediction-gen.go
+++ b/prediction/v1.5/prediction-gen.go
@@ -710,29 +710,29 @@
 	s               *Service
 	hostedModelName string
 	input           *Input
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Predict: Submit input and request an output against a hosted model.
 func (r *HostedmodelsService) Predict(hostedModelName string, input *Input) *HostedmodelsPredictCall {
-	c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HostedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.hostedModelName = hostedModelName
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -745,9 +745,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "hostedmodels/{hostedModelName}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"hostedModelName": c.hostedModelName,
@@ -827,26 +831,25 @@
 // method id "prediction.trainedmodels.analyze":
 
 type TrainedmodelsAnalyzeCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Analyze: Get analysis of the model and the data the model was trained
 // on.
 func (r *TrainedmodelsService) Analyze(id string) *TrainedmodelsAnalyzeCall {
-	c := &TrainedmodelsAnalyzeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsAnalyzeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsAnalyzeCall) Fields(s ...googleapi.Field) *TrainedmodelsAnalyzeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -856,13 +859,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsAnalyzeCall) IfNoneMatch(entityTag string) *TrainedmodelsAnalyzeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsAnalyzeCall) Context(ctx context.Context) *TrainedmodelsAnalyzeCall {
 	c.ctx_ = ctx
 	return c
@@ -870,16 +873,20 @@
 
 func (c *TrainedmodelsAnalyzeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}/analyze")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -951,30 +958,30 @@
 // method id "prediction.trainedmodels.delete":
 
 type TrainedmodelsDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Delete a trained model.
 func (r *TrainedmodelsService) Delete(id string) *TrainedmodelsDeleteCall {
-	c := &TrainedmodelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsDeleteCall) Fields(s ...googleapi.Field) *TrainedmodelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsDeleteCall) Context(ctx context.Context) *TrainedmodelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -982,9 +989,13 @@
 
 func (c *TrainedmodelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1033,25 +1044,24 @@
 // method id "prediction.trainedmodels.get":
 
 type TrainedmodelsGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Check training status of your model.
 func (r *TrainedmodelsService) Get(id string) *TrainedmodelsGetCall {
-	c := &TrainedmodelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsGetCall) Fields(s ...googleapi.Field) *TrainedmodelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1061,13 +1071,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsGetCall) IfNoneMatch(entityTag string) *TrainedmodelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsGetCall) Context(ctx context.Context) *TrainedmodelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1075,16 +1085,20 @@
 
 func (c *TrainedmodelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1156,30 +1170,30 @@
 // method id "prediction.trainedmodels.insert":
 
 type TrainedmodelsInsertCall struct {
-	s          *Service
-	training   *Training
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	training *Training
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Begin training your model.
 func (r *TrainedmodelsService) Insert(training *Training) *TrainedmodelsInsertCall {
-	c := &TrainedmodelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.training = training
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsInsertCall) Fields(s ...googleapi.Field) *TrainedmodelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsInsertCall) Context(ctx context.Context) *TrainedmodelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1192,9 +1206,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1264,36 +1282,35 @@
 // method id "prediction.trainedmodels.list":
 
 type TrainedmodelsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List available models.
 func (r *TrainedmodelsService) List() *TrainedmodelsListCall {
-	c := &TrainedmodelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *TrainedmodelsListCall) MaxResults(maxResults int64) *TrainedmodelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Pagination token
 func (c *TrainedmodelsListCall) PageToken(pageToken string) *TrainedmodelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsListCall) Fields(s ...googleapi.Field) *TrainedmodelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1303,13 +1320,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsListCall) IfNoneMatch(entityTag string) *TrainedmodelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsListCall) Context(ctx context.Context) *TrainedmodelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1317,14 +1334,24 @@
 
 func (c *TrainedmodelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/list")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1399,32 +1426,32 @@
 // method id "prediction.trainedmodels.predict":
 
 type TrainedmodelsPredictCall struct {
-	s          *Service
-	id         string
-	input      *Input
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	id    string
+	input *Input
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Predict: Submit model id and request a prediction.
 func (r *TrainedmodelsService) Predict(id string, input *Input) *TrainedmodelsPredictCall {
-	c := &TrainedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsPredictCall) Fields(s ...googleapi.Field) *TrainedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsPredictCall) Context(ctx context.Context) *TrainedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -1437,9 +1464,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -1519,32 +1550,32 @@
 // method id "prediction.trainedmodels.update":
 
 type TrainedmodelsUpdateCall struct {
-	s          *Service
-	id         string
-	update     *Update
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	update *Update
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Update: Add new data to a trained model.
 func (r *TrainedmodelsService) Update(id string, update *Update) *TrainedmodelsUpdateCall {
-	c := &TrainedmodelsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.update = update
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsUpdateCall) Fields(s ...googleapi.Field) *TrainedmodelsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsUpdateCall) Context(ctx context.Context) *TrainedmodelsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1557,9 +1588,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
diff --git a/prediction/v1.6/prediction-gen.go b/prediction/v1.6/prediction-gen.go
index 6ae9bd7..cd7667f 100644
--- a/prediction/v1.6/prediction-gen.go
+++ b/prediction/v1.6/prediction-gen.go
@@ -741,30 +741,30 @@
 	project         string
 	hostedModelName string
 	input           *Input
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Predict: Submit input and request an output against a hosted model.
 func (r *HostedmodelsService) Predict(project string, hostedModelName string, input *Input) *HostedmodelsPredictCall {
-	c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &HostedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.hostedModelName = hostedModelName
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -777,9 +777,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/hostedmodels/{hostedModelName}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -867,28 +871,27 @@
 // method id "prediction.trainedmodels.analyze":
 
 type TrainedmodelsAnalyzeCall struct {
-	s            *Service
-	project      string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	id      string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Analyze: Get analysis of the model and the data the model was trained
 // on.
 func (r *TrainedmodelsService) Analyze(project string, id string) *TrainedmodelsAnalyzeCall {
-	c := &TrainedmodelsAnalyzeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsAnalyzeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsAnalyzeCall) Fields(s ...googleapi.Field) *TrainedmodelsAnalyzeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -898,13 +901,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsAnalyzeCall) IfNoneMatch(entityTag string) *TrainedmodelsAnalyzeCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsAnalyzeCall) Context(ctx context.Context) *TrainedmodelsAnalyzeCall {
 	c.ctx_ = ctx
 	return c
@@ -912,17 +915,21 @@
 
 func (c *TrainedmodelsAnalyzeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels/{id}/analyze")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"id":      c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1001,32 +1008,32 @@
 // method id "prediction.trainedmodels.delete":
 
 type TrainedmodelsDeleteCall struct {
-	s          *Service
-	project    string
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	id      string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Delete a trained model.
 func (r *TrainedmodelsService) Delete(project string, id string) *TrainedmodelsDeleteCall {
-	c := &TrainedmodelsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsDeleteCall) Fields(s ...googleapi.Field) *TrainedmodelsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsDeleteCall) Context(ctx context.Context) *TrainedmodelsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1034,9 +1041,13 @@
 
 func (c *TrainedmodelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1093,27 +1104,26 @@
 // method id "prediction.trainedmodels.get":
 
 type TrainedmodelsGetCall struct {
-	s            *Service
-	project      string
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	id      string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Check training status of your model.
 func (r *TrainedmodelsService) Get(project string, id string) *TrainedmodelsGetCall {
-	c := &TrainedmodelsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsGetCall) Fields(s ...googleapi.Field) *TrainedmodelsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1123,13 +1133,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsGetCall) IfNoneMatch(entityTag string) *TrainedmodelsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsGetCall) Context(ctx context.Context) *TrainedmodelsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1137,17 +1147,21 @@
 
 func (c *TrainedmodelsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"id":      c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1226,32 +1240,32 @@
 // method id "prediction.trainedmodels.insert":
 
 type TrainedmodelsInsertCall struct {
-	s          *Service
-	project    string
-	insert     *Insert
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	insert  *Insert
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Train a Prediction API model.
 func (r *TrainedmodelsService) Insert(project string, insert *Insert) *TrainedmodelsInsertCall {
-	c := &TrainedmodelsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.insert = insert
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsInsertCall) Fields(s ...googleapi.Field) *TrainedmodelsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsInsertCall) Context(ctx context.Context) *TrainedmodelsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1264,9 +1278,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1349,16 +1367,15 @@
 // method id "prediction.trainedmodels.list":
 
 type TrainedmodelsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: List available models.
 func (r *TrainedmodelsService) List(project string) *TrainedmodelsListCall {
-	c := &TrainedmodelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1366,21 +1383,21 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return.
 func (c *TrainedmodelsListCall) MaxResults(maxResults int64) *TrainedmodelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Pagination token.
 func (c *TrainedmodelsListCall) PageToken(pageToken string) *TrainedmodelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsListCall) Fields(s ...googleapi.Field) *TrainedmodelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1390,13 +1407,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TrainedmodelsListCall) IfNoneMatch(entityTag string) *TrainedmodelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsListCall) Context(ctx context.Context) *TrainedmodelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1404,16 +1421,26 @@
 
 func (c *TrainedmodelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels/list")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1497,34 +1524,34 @@
 // method id "prediction.trainedmodels.predict":
 
 type TrainedmodelsPredictCall struct {
-	s          *Service
-	project    string
-	id         string
-	input      *Input
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	id      string
+	input   *Input
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Predict: Submit model id and request a prediction.
 func (r *TrainedmodelsService) Predict(project string, id string, input *Input) *TrainedmodelsPredictCall {
-	c := &TrainedmodelsPredictCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsPredictCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.id = id
 	c.input = input
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsPredictCall) Fields(s ...googleapi.Field) *TrainedmodelsPredictCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsPredictCall) Context(ctx context.Context) *TrainedmodelsPredictCall {
 	c.ctx_ = ctx
 	return c
@@ -1537,9 +1564,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels/{id}/predict")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1627,34 +1658,34 @@
 // method id "prediction.trainedmodels.update":
 
 type TrainedmodelsUpdateCall struct {
-	s          *Service
-	project    string
-	id         string
-	update     *Update
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	project string
+	id      string
+	update  *Update
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Add new data to a trained model.
 func (r *TrainedmodelsService) Update(project string, id string, update *Update) *TrainedmodelsUpdateCall {
-	c := &TrainedmodelsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TrainedmodelsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.id = id
 	c.update = update
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TrainedmodelsUpdateCall) Fields(s ...googleapi.Field) *TrainedmodelsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TrainedmodelsUpdateCall) Context(ctx context.Context) *TrainedmodelsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1667,9 +1698,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/trainedmodels/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
diff --git a/proximitybeacon/v1beta1/proximitybeacon-gen.go b/proximitybeacon/v1beta1/proximitybeacon-gen.go
index 23b1be2..3d0250f 100644
--- a/proximitybeacon/v1beta1/proximitybeacon-gen.go
+++ b/proximitybeacon/v1beta1/proximitybeacon-gen.go
@@ -758,29 +758,29 @@
 type BeaconinfoGetforobservedCall struct {
 	s                                *Service
 	getinfoforobservedbeaconsrequest *GetInfoForObservedBeaconsRequest
-	urlParams_                       internal.URLParams
+	opt_                             map[string]interface{}
 	ctx_                             context.Context
 }
 
 // Getforobserved: Given one or more beacon observations, returns any
 // beacon information and attachments accessible to your application.
 func (r *BeaconinfoService) Getforobserved(getinfoforobservedbeaconsrequest *GetInfoForObservedBeaconsRequest) *BeaconinfoGetforobservedCall {
-	c := &BeaconinfoGetforobservedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconinfoGetforobservedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.getinfoforobservedbeaconsrequest = getinfoforobservedbeaconsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconinfoGetforobservedCall) Fields(s ...googleapi.Field) *BeaconinfoGetforobservedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconinfoGetforobservedCall) Context(ctx context.Context) *BeaconinfoGetforobservedCall {
 	c.ctx_ = ctx
 	return c
@@ -793,9 +793,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/beaconinfo:getforobserved")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -862,7 +866,7 @@
 type BeaconsActivateCall struct {
 	s          *Service
 	beaconName string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -871,22 +875,22 @@
 // `beaconinfo.getforobserved`. Calling this method on an already active
 // beacon will do nothing (but will return a successful response code).
 func (r *BeaconsService) Activate(beaconName string) *BeaconsActivateCall {
-	c := &BeaconsActivateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsActivateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsActivateCall) Fields(s ...googleapi.Field) *BeaconsActivateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsActivateCall) Context(ctx context.Context) *BeaconsActivateCall {
 	c.ctx_ = ctx
 	return c
@@ -894,9 +898,13 @@
 
 func (c *BeaconsActivateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}:activate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
@@ -972,7 +980,7 @@
 type BeaconsDeactivateCall struct {
 	s          *Service
 	beaconName string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -982,22 +990,22 @@
 // inactive beacon will do nothing (but will return a successful
 // response code).
 func (r *BeaconsService) Deactivate(beaconName string) *BeaconsDeactivateCall {
-	c := &BeaconsDeactivateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsDeactivateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsDeactivateCall) Fields(s ...googleapi.Field) *BeaconsDeactivateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsDeactivateCall) Context(ctx context.Context) *BeaconsDeactivateCall {
 	c.ctx_ = ctx
 	return c
@@ -1005,9 +1013,13 @@
 
 func (c *BeaconsDeactivateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}:deactivate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
@@ -1083,7 +1095,7 @@
 type BeaconsDecommissionCall struct {
 	s          *Service
 	beaconName string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -1092,22 +1104,22 @@
 // This operation is permanent -- you will not be able to re-register a
 // beacon with this ID again.
 func (r *BeaconsService) Decommission(beaconName string) *BeaconsDecommissionCall {
-	c := &BeaconsDecommissionCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsDecommissionCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsDecommissionCall) Fields(s ...googleapi.Field) *BeaconsDecommissionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsDecommissionCall) Context(ctx context.Context) *BeaconsDecommissionCall {
 	c.ctx_ = ctx
 	return c
@@ -1115,9 +1127,13 @@
 
 func (c *BeaconsDecommissionCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}:decommission")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
@@ -1191,25 +1207,24 @@
 // method id "proximitybeacon.beacons.get":
 
 type BeaconsGetCall struct {
-	s            *Service
-	beaconName   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	beaconName string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns detailed information about the specified beacon.
 func (r *BeaconsService) Get(beaconName string) *BeaconsGetCall {
-	c := &BeaconsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsGetCall) Fields(s ...googleapi.Field) *BeaconsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1219,13 +1234,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BeaconsGetCall) IfNoneMatch(entityTag string) *BeaconsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsGetCall) Context(ctx context.Context) *BeaconsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1233,16 +1248,20 @@
 
 func (c *BeaconsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1312,17 +1331,16 @@
 // method id "proximitybeacon.beacons.list":
 
 type BeaconsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Searches the beacon registry for beacons that match the given
 // search criteria. Only those beacons that the client has permission to
 // list will be returned.
 func (r *BeaconsService) List() *BeaconsListCall {
-	c := &BeaconsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1330,14 +1348,14 @@
 // of records to return for this request, up to a server-defined upper
 // limit.
 func (c *BeaconsListCall) PageSize(pageSize int64) *BeaconsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
 // obtained from a previous request to list beacons.
 func (c *BeaconsListCall) PageToken(pageToken string) *BeaconsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1389,15 +1407,15 @@
 // /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:10
 // 00`
 func (c *BeaconsListCall) Q(q string) *BeaconsListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsListCall) Fields(s ...googleapi.Field) *BeaconsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1407,13 +1425,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BeaconsListCall) IfNoneMatch(entityTag string) *BeaconsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsListCall) Context(ctx context.Context) *BeaconsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1421,14 +1439,27 @@
 
 func (c *BeaconsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/beacons")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1504,32 +1535,32 @@
 // method id "proximitybeacon.beacons.register":
 
 type BeaconsRegisterCall struct {
-	s          *Service
-	beacon     *Beacon
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	beacon *Beacon
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Register: Registers a previously unregistered beacon given its
 // `advertisedId`. These IDs are unique within the system. An ID can be
 // registered only once.
 func (r *BeaconsService) Register(beacon *Beacon) *BeaconsRegisterCall {
-	c := &BeaconsRegisterCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsRegisterCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beacon = beacon
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsRegisterCall) Fields(s ...googleapi.Field) *BeaconsRegisterCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsRegisterCall) Context(ctx context.Context) *BeaconsRegisterCall {
 	c.ctx_ = ctx
 	return c
@@ -1542,9 +1573,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/beacons:register")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1611,7 +1646,7 @@
 	s          *Service
 	beaconName string
 	beacon     *Beacon
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -1623,23 +1658,23 @@
 // status, use the separate methods on this API for (de)activation and
 // decommissioning.
 func (r *BeaconsService) Update(beaconName string, beacon *Beacon) *BeaconsUpdateCall {
-	c := &BeaconsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	c.beacon = beacon
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsUpdateCall) Fields(s ...googleapi.Field) *BeaconsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsUpdateCall) Context(ctx context.Context) *BeaconsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1652,9 +1687,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
@@ -1734,7 +1773,7 @@
 type BeaconsAttachmentsBatchDeleteCall struct {
 	s          *Service
 	beaconName string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -1745,7 +1784,7 @@
 // on the given beacon will be deleted. You also may explicitly specify
 // `*/*` to delete all.
 func (r *BeaconsAttachmentsService) BatchDelete(beaconName string) *BeaconsAttachmentsBatchDeleteCall {
-	c := &BeaconsAttachmentsBatchDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsAttachmentsBatchDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
@@ -1755,21 +1794,21 @@
 // `namespace/type` format. Accepts `*/*` to specify "all types in all
 // namespaces".
 func (c *BeaconsAttachmentsBatchDeleteCall) NamespacedType(namespacedType string) *BeaconsAttachmentsBatchDeleteCall {
-	c.urlParams_.Set("namespacedType", namespacedType)
+	c.opt_["namespacedType"] = namespacedType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsAttachmentsBatchDeleteCall) Fields(s ...googleapi.Field) *BeaconsAttachmentsBatchDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsAttachmentsBatchDeleteCall) Context(ctx context.Context) *BeaconsAttachmentsBatchDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1777,9 +1816,16 @@
 
 func (c *BeaconsAttachmentsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["namespacedType"]; ok {
+		params.Set("namespacedType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}/attachments:batchDelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
@@ -1861,7 +1907,7 @@
 	s                *Service
 	beaconName       string
 	beaconattachment *BeaconAttachment
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -1875,23 +1921,23 @@
 // to 100 characters in length. Attachment data can be up to 1024 bytes
 // long.
 func (r *BeaconsAttachmentsService) Create(beaconName string, beaconattachment *BeaconAttachment) *BeaconsAttachmentsCreateCall {
-	c := &BeaconsAttachmentsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsAttachmentsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	c.beaconattachment = beaconattachment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsAttachmentsCreateCall) Fields(s ...googleapi.Field) *BeaconsAttachmentsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsAttachmentsCreateCall) Context(ctx context.Context) *BeaconsAttachmentsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1904,9 +1950,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}/attachments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
@@ -1986,7 +2036,7 @@
 type BeaconsAttachmentsDeleteCall struct {
 	s              *Service
 	attachmentName string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -1996,22 +2046,22 @@
 // this with the delete request to control which attachment is removed.
 // This operation cannot be undone.
 func (r *BeaconsAttachmentsService) Delete(attachmentName string) *BeaconsAttachmentsDeleteCall {
-	c := &BeaconsAttachmentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsAttachmentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.attachmentName = attachmentName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsAttachmentsDeleteCall) Fields(s ...googleapi.Field) *BeaconsAttachmentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsAttachmentsDeleteCall) Context(ctx context.Context) *BeaconsAttachmentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2019,9 +2069,13 @@
 
 func (c *BeaconsAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+attachmentName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"attachmentName": c.attachmentName,
@@ -2095,11 +2149,10 @@
 // method id "proximitybeacon.beacons.attachments.list":
 
 type BeaconsAttachmentsListCall struct {
-	s            *Service
-	beaconName   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	beaconName string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Returns the attachments for the specified beacon that match the
@@ -2109,7 +2162,7 @@
 // namespace must be one of the ones returned from the `namespaces`
 // endpoint.
 func (r *BeaconsAttachmentsService) List(beaconName string) *BeaconsAttachmentsListCall {
-	c := &BeaconsAttachmentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsAttachmentsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
@@ -2119,15 +2172,15 @@
 // in namespace/type format. Accepts `*/*` to specify "all types in all
 // namespaces".
 func (c *BeaconsAttachmentsListCall) NamespacedType(namespacedType string) *BeaconsAttachmentsListCall {
-	c.urlParams_.Set("namespacedType", namespacedType)
+	c.opt_["namespacedType"] = namespacedType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsAttachmentsListCall) Fields(s ...googleapi.Field) *BeaconsAttachmentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2137,13 +2190,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BeaconsAttachmentsListCall) IfNoneMatch(entityTag string) *BeaconsAttachmentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsAttachmentsListCall) Context(ctx context.Context) *BeaconsAttachmentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2151,16 +2204,23 @@
 
 func (c *BeaconsAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["namespacedType"]; ok {
+		params.Set("namespacedType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}/attachments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2235,18 +2295,17 @@
 // method id "proximitybeacon.beacons.diagnostics.list":
 
 type BeaconsDiagnosticsListCall struct {
-	s            *Service
-	beaconName   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	beaconName string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: List the diagnostics for a single beacon. You can also list
 // diagnostics for all the beacons owned by your Google Developers
 // Console project by using the beacon name `beacons/-`.
 func (r *BeaconsDiagnosticsService) List(beaconName string) *BeaconsDiagnosticsListCall {
-	c := &BeaconsDiagnosticsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BeaconsDiagnosticsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.beaconName = beaconName
 	return c
 }
@@ -2260,14 +2319,14 @@
 //   "WRONG_LOCATION"
 //   "LOW_BATTERY"
 func (c *BeaconsDiagnosticsListCall) AlertFilter(alertFilter string) *BeaconsDiagnosticsListCall {
-	c.urlParams_.Set("alertFilter", alertFilter)
+	c.opt_["alertFilter"] = alertFilter
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Specifies the
 // maximum number of results to return. Defaults to 10. Maximum 1000.
 func (c *BeaconsDiagnosticsListCall) PageSize(pageSize int64) *BeaconsDiagnosticsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -2275,15 +2334,15 @@
 // that occur after the `page_token`, obtained from the response to a
 // previous request.
 func (c *BeaconsDiagnosticsListCall) PageToken(pageToken string) *BeaconsDiagnosticsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BeaconsDiagnosticsListCall) Fields(s ...googleapi.Field) *BeaconsDiagnosticsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2293,13 +2352,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BeaconsDiagnosticsListCall) IfNoneMatch(entityTag string) *BeaconsDiagnosticsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BeaconsDiagnosticsListCall) Context(ctx context.Context) *BeaconsDiagnosticsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2307,16 +2366,29 @@
 
 func (c *BeaconsDiagnosticsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["alertFilter"]; ok {
+		params.Set("alertFilter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+beaconName}/diagnostics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"beaconName": c.beaconName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2407,10 +2479,9 @@
 // method id "proximitybeacon.namespaces.list":
 
 type NamespacesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all attachment namespaces owned by your Google Developers
@@ -2418,15 +2489,15 @@
 // include a namespaced type, and the namespace must be owned by your
 // project.
 func (r *NamespacesService) List() *NamespacesListCall {
-	c := &NamespacesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &NamespacesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *NamespacesListCall) Fields(s ...googleapi.Field) *NamespacesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2436,13 +2507,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *NamespacesListCall) IfNoneMatch(entityTag string) *NamespacesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *NamespacesListCall) Context(ctx context.Context) *NamespacesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2450,14 +2521,18 @@
 
 func (c *NamespacesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/namespaces")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/pubsub/v1/pubsub-gen.go b/pubsub/v1/pubsub-gen.go
index 6e9500f..c9fb3f6 100644
--- a/pubsub/v1/pubsub-gen.go
+++ b/pubsub/v1/pubsub-gen.go
@@ -733,7 +733,7 @@
 	s                  *Service
 	subscription       string
 	acknowledgerequest *AcknowledgeRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -744,23 +744,23 @@
 // redelivered later. Acknowledging a message more than once will not
 // result in an error.
 func (r *ProjectsSubscriptionsService) Acknowledge(subscription string, acknowledgerequest *AcknowledgeRequest) *ProjectsSubscriptionsAcknowledgeCall {
-	c := &ProjectsSubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsAcknowledgeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.acknowledgerequest = acknowledgerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsAcknowledgeCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsAcknowledgeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsAcknowledgeCall) Context(ctx context.Context) *ProjectsSubscriptionsAcknowledgeCall {
 	c.ctx_ = ctx
 	return c
@@ -773,9 +773,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+subscription}:acknowledge")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -860,7 +864,7 @@
 	s            *Service
 	name         string
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -871,23 +875,23 @@
 // will assign a random name for this subscription on the same project
 // as the topic.
 func (r *ProjectsSubscriptionsService) Create(name string, subscription *Subscription) *ProjectsSubscriptionsCreateCall {
-	c := &ProjectsSubscriptionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsCreateCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsCreateCall) Context(ctx context.Context) *ProjectsSubscriptionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -900,9 +904,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -986,7 +994,7 @@
 type ProjectsSubscriptionsDeleteCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -997,22 +1005,22 @@
 // with the old subscription, or its topic unless the same topic is
 // specified.
 func (r *ProjectsSubscriptionsService) Delete(subscription string) *ProjectsSubscriptionsDeleteCall {
-	c := &ProjectsSubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsDeleteCall) Context(ctx context.Context) *ProjectsSubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1020,9 +1028,13 @@
 
 func (c *ProjectsSubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1102,23 +1114,22 @@
 type ProjectsSubscriptionsGetCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets the configuration details of a subscription.
 func (r *ProjectsSubscriptionsService) Get(subscription string) *ProjectsSubscriptionsGetCall {
-	c := &ProjectsSubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsGetCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1128,13 +1139,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSubscriptionsGetCall) IfNoneMatch(entityTag string) *ProjectsSubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsGetCall) Context(ctx context.Context) *ProjectsSubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1142,16 +1153,20 @@
 
 func (c *ProjectsSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1225,26 +1240,25 @@
 // method id "pubsub.projects.subscriptions.getIamPolicy":
 
 type ProjectsSubscriptionsGetIamPolicyCall struct {
-	s            *Service
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. Is empty
 // if the policy or the resource does not exist.
 func (r *ProjectsSubscriptionsService) GetIamPolicy(resource string) *ProjectsSubscriptionsGetIamPolicyCall {
-	c := &ProjectsSubscriptionsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1254,13 +1268,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSubscriptionsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsSubscriptionsGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsGetIamPolicyCall) Context(ctx context.Context) *ProjectsSubscriptionsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1268,16 +1282,20 @@
 
 func (c *ProjectsSubscriptionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1351,16 +1369,15 @@
 // method id "pubsub.projects.subscriptions.list":
 
 type ProjectsSubscriptionsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists matching subscriptions.
 func (r *ProjectsSubscriptionsService) List(project string) *ProjectsSubscriptionsListCall {
-	c := &ProjectsSubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1368,7 +1385,7 @@
 // PageSize sets the optional parameter "pageSize": Maximum number of
 // subscriptions to return.
 func (c *ProjectsSubscriptionsListCall) PageSize(pageSize int64) *ProjectsSubscriptionsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1377,15 +1394,15 @@
 // continuation of a prior ListSubscriptions call, and that the system
 // should return the next page of data.
 func (c *ProjectsSubscriptionsListCall) PageToken(pageToken string) *ProjectsSubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsListCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1395,13 +1412,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSubscriptionsListCall) IfNoneMatch(entityTag string) *ProjectsSubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsListCall) Context(ctx context.Context) *ProjectsSubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1409,16 +1426,26 @@
 
 func (c *ProjectsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+project}/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1506,7 +1533,7 @@
 	s                        *Service
 	subscription             string
 	modifyackdeadlinerequest *ModifyAckDeadlineRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -1515,23 +1542,23 @@
 // a message by the subscriber, or to make the message available for
 // redelivery if the processing was interrupted.
 func (r *ProjectsSubscriptionsService) ModifyAckDeadline(subscription string, modifyackdeadlinerequest *ModifyAckDeadlineRequest) *ProjectsSubscriptionsModifyAckDeadlineCall {
-	c := &ProjectsSubscriptionsModifyAckDeadlineCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsModifyAckDeadlineCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.modifyackdeadlinerequest = modifyackdeadlinerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsModifyAckDeadlineCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsModifyAckDeadlineCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsModifyAckDeadlineCall) Context(ctx context.Context) *ProjectsSubscriptionsModifyAckDeadlineCall {
 	c.ctx_ = ctx
 	return c
@@ -1544,9 +1571,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+subscription}:modifyAckDeadline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1631,7 +1662,7 @@
 	s                       *Service
 	subscription            string
 	modifypushconfigrequest *ModifyPushConfigRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -1642,23 +1673,23 @@
 // Messages will accumulate for delivery continuously through the call
 // regardless of changes to the PushConfig.
 func (r *ProjectsSubscriptionsService) ModifyPushConfig(subscription string, modifypushconfigrequest *ModifyPushConfigRequest) *ProjectsSubscriptionsModifyPushConfigCall {
-	c := &ProjectsSubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsModifyPushConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.modifypushconfigrequest = modifypushconfigrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsModifyPushConfigCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsModifyPushConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsModifyPushConfigCall) Context(ctx context.Context) *ProjectsSubscriptionsModifyPushConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -1671,9 +1702,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+subscription}:modifyPushConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1758,7 +1793,7 @@
 	s            *Service
 	subscription string
 	pullrequest  *PullRequest
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1767,23 +1802,23 @@
 // UNAVAILABLE if there are too many concurrent pull requests pending
 // for the given subscription.
 func (r *ProjectsSubscriptionsService) Pull(subscription string, pullrequest *PullRequest) *ProjectsSubscriptionsPullCall {
-	c := &ProjectsSubscriptionsPullCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsPullCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.pullrequest = pullrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsPullCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsPullCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsPullCall) Context(ctx context.Context) *ProjectsSubscriptionsPullCall {
 	c.ctx_ = ctx
 	return c
@@ -1796,9 +1831,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+subscription}:pull")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1883,30 +1922,30 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *ProjectsSubscriptionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSubscriptionsSetIamPolicyCall {
-	c := &ProjectsSubscriptionsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsSetIamPolicyCall) Context(ctx context.Context) *ProjectsSubscriptionsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1919,9 +1958,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -2006,30 +2049,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *ProjectsSubscriptionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSubscriptionsTestIamPermissionsCall {
-	c := &ProjectsSubscriptionsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsSubscriptionsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -2042,9 +2085,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -2126,32 +2173,32 @@
 // method id "pubsub.projects.topics.create":
 
 type ProjectsTopicsCreateCall struct {
-	s          *Service
-	name       string
-	topic      *Topic
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	name  string
+	topic *Topic
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Creates the given topic with the given name.
 func (r *ProjectsTopicsService) Create(name string, topic *Topic) *ProjectsTopicsCreateCall {
-	c := &ProjectsTopicsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsCreateCall) Fields(s ...googleapi.Field) *ProjectsTopicsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsCreateCall) Context(ctx context.Context) *ProjectsTopicsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2164,9 +2211,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -2248,10 +2299,10 @@
 // method id "pubsub.projects.topics.delete":
 
 type ProjectsTopicsDeleteCall struct {
-	s          *Service
-	topic      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Delete: Deletes the topic with the given name. Returns NOT_FOUND if
@@ -2261,22 +2312,22 @@
 // subscriptions to this topic are not deleted, but their `topic` field
 // is set to `_deleted-topic_`.
 func (r *ProjectsTopicsService) Delete(topic string) *ProjectsTopicsDeleteCall {
-	c := &ProjectsTopicsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsDeleteCall) Fields(s ...googleapi.Field) *ProjectsTopicsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsDeleteCall) Context(ctx context.Context) *ProjectsTopicsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2284,9 +2335,13 @@
 
 func (c *ProjectsTopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
@@ -2364,25 +2419,24 @@
 // method id "pubsub.projects.topics.get":
 
 type ProjectsTopicsGetCall struct {
-	s            *Service
-	topic        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Gets the configuration of a topic.
 func (r *ProjectsTopicsService) Get(topic string) *ProjectsTopicsGetCall {
-	c := &ProjectsTopicsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsGetCall) Fields(s ...googleapi.Field) *ProjectsTopicsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2392,13 +2446,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsGetCall) IfNoneMatch(entityTag string) *ProjectsTopicsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsGetCall) Context(ctx context.Context) *ProjectsTopicsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2406,16 +2460,20 @@
 
 func (c *ProjectsTopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2489,26 +2547,25 @@
 // method id "pubsub.projects.topics.getIamPolicy":
 
 type ProjectsTopicsGetIamPolicyCall struct {
-	s            *Service
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. Is empty
 // if the policy or the resource does not exist.
 func (r *ProjectsTopicsService) GetIamPolicy(resource string) *ProjectsTopicsGetIamPolicyCall {
-	c := &ProjectsTopicsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsTopicsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2518,13 +2575,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsTopicsGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsGetIamPolicyCall) Context(ctx context.Context) *ProjectsTopicsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -2532,16 +2589,20 @@
 
 func (c *ProjectsTopicsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2615,16 +2676,15 @@
 // method id "pubsub.projects.topics.list":
 
 type ProjectsTopicsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists matching topics.
 func (r *ProjectsTopicsService) List(project string) *ProjectsTopicsListCall {
-	c := &ProjectsTopicsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2632,7 +2692,7 @@
 // PageSize sets the optional parameter "pageSize": Maximum number of
 // topics to return.
 func (c *ProjectsTopicsListCall) PageSize(pageSize int64) *ProjectsTopicsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -2641,15 +2701,15 @@
 // of a prior ListTopics call, and that the system should return the
 // next page of data.
 func (c *ProjectsTopicsListCall) PageToken(pageToken string) *ProjectsTopicsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsListCall) Fields(s ...googleapi.Field) *ProjectsTopicsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2659,13 +2719,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsListCall) IfNoneMatch(entityTag string) *ProjectsTopicsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsListCall) Context(ctx context.Context) *ProjectsTopicsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2673,16 +2733,26 @@
 
 func (c *ProjectsTopicsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+project}/topics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2770,7 +2840,7 @@
 	s              *Service
 	topic          string
 	publishrequest *PublishRequest
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -2779,23 +2849,23 @@
 // must contain either a non-empty data field, or at least one
 // attribute.
 func (r *ProjectsTopicsService) Publish(topic string, publishrequest *PublishRequest) *ProjectsTopicsPublishCall {
-	c := &ProjectsTopicsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	c.publishrequest = publishrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsPublishCall) Fields(s ...googleapi.Field) *ProjectsTopicsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsPublishCall) Context(ctx context.Context) *ProjectsTopicsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -2808,9 +2878,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+topic}:publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
@@ -2895,30 +2969,30 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *ProjectsTopicsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsTopicsSetIamPolicyCall {
-	c := &ProjectsTopicsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsTopicsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsSetIamPolicyCall) Context(ctx context.Context) *ProjectsTopicsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -2931,9 +3005,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3018,30 +3096,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *ProjectsTopicsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTopicsTestIamPermissionsCall {
-	c := &ProjectsTopicsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsTopicsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsTopicsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -3054,9 +3132,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3138,16 +3220,15 @@
 // method id "pubsub.projects.topics.subscriptions.list":
 
 type ProjectsTopicsSubscriptionsListCall struct {
-	s            *Service
-	topic        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // List: Lists the name of the subscriptions for this topic.
 func (r *ProjectsTopicsSubscriptionsService) List(topic string) *ProjectsTopicsSubscriptionsListCall {
-	c := &ProjectsTopicsSubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsSubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
@@ -3155,7 +3236,7 @@
 // PageSize sets the optional parameter "pageSize": Maximum number of
 // subscription names to return.
 func (c *ProjectsTopicsSubscriptionsListCall) PageSize(pageSize int64) *ProjectsTopicsSubscriptionsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -3164,15 +3245,15 @@
 // continuation of a prior ListTopicSubscriptions call, and that the
 // system should return the next page of data.
 func (c *ProjectsTopicsSubscriptionsListCall) PageToken(pageToken string) *ProjectsTopicsSubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsSubscriptionsListCall) Fields(s ...googleapi.Field) *ProjectsTopicsSubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3182,13 +3263,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsSubscriptionsListCall) IfNoneMatch(entityTag string) *ProjectsTopicsSubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsSubscriptionsListCall) Context(ctx context.Context) *ProjectsTopicsSubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3196,16 +3277,26 @@
 
 func (c *ProjectsTopicsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+topic}/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/pubsub/v1beta1/pubsub-gen.go b/pubsub/v1beta1/pubsub-gen.go
index 57e5b2b..fea77d4 100644
--- a/pubsub/v1beta1/pubsub-gen.go
+++ b/pubsub/v1beta1/pubsub-gen.go
@@ -641,7 +641,7 @@
 type SubscriptionsAcknowledgeCall struct {
 	s                  *Service
 	acknowledgerequest *AcknowledgeRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -652,22 +652,22 @@
 // message more than once will not result in an error. This is only used
 // for messages received via pull.
 func (r *SubscriptionsService) Acknowledge(acknowledgerequest *AcknowledgeRequest) *SubscriptionsAcknowledgeCall {
-	c := &SubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsAcknowledgeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.acknowledgerequest = acknowledgerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsAcknowledgeCall) Fields(s ...googleapi.Field) *SubscriptionsAcknowledgeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsAcknowledgeCall) Context(ctx context.Context) *SubscriptionsAcknowledgeCall {
 	c.ctx_ = ctx
 	return c
@@ -680,9 +680,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/acknowledge")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -725,7 +729,7 @@
 type SubscriptionsCreateCall struct {
 	s            *Service
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -737,22 +741,22 @@
 // If the name is not provided in the request, the server will assign a
 // random name for this subscription on the same project as the topic.
 func (r *SubscriptionsService) Create(subscription *Subscription) *SubscriptionsCreateCall {
-	c := &SubscriptionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsCreateCall) Fields(s ...googleapi.Field) *SubscriptionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsCreateCall) Context(ctx context.Context) *SubscriptionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -765,9 +769,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -837,7 +845,7 @@
 type SubscriptionsDeleteCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -845,22 +853,22 @@
 // subscription are immediately dropped. Calls to Pull after deletion
 // will return NOT_FOUND.
 func (r *SubscriptionsService) Delete(subscription string) *SubscriptionsDeleteCall {
-	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -868,9 +876,13 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -922,23 +934,22 @@
 type SubscriptionsGetCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets the configuration details of a subscription.
 func (r *SubscriptionsService) Get(subscription string) *SubscriptionsGetCall {
-	c := &SubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsGetCall) Fields(s ...googleapi.Field) *SubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -948,13 +959,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsGetCall) IfNoneMatch(entityTag string) *SubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsGetCall) Context(ctx context.Context) *SubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -962,16 +973,20 @@
 
 func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1044,44 +1059,43 @@
 // method id "pubsub.subscriptions.list":
 
 type SubscriptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists matching subscriptions.
 func (r *SubscriptionsService) List() *SubscriptionsListCall {
-	c := &SubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of subscriptions to return.
 func (c *SubscriptionsListCall) MaxResults(maxResults int64) *SubscriptionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value obtained
 // in the last ListSubscriptionsResponse for continuation.
 func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Query sets the optional parameter "query": A valid label query
 // expression.
 func (c *SubscriptionsListCall) Query(query string) *SubscriptionsListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1091,13 +1105,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1105,14 +1119,27 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1194,29 +1221,29 @@
 type SubscriptionsModifyAckDeadlineCall struct {
 	s                        *Service
 	modifyackdeadlinerequest *ModifyAckDeadlineRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // ModifyAckDeadline: Modifies the Ack deadline for a message received
 // from a pull request.
 func (r *SubscriptionsService) ModifyAckDeadline(modifyackdeadlinerequest *ModifyAckDeadlineRequest) *SubscriptionsModifyAckDeadlineCall {
-	c := &SubscriptionsModifyAckDeadlineCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsModifyAckDeadlineCall{s: r.s, opt_: make(map[string]interface{})}
 	c.modifyackdeadlinerequest = modifyackdeadlinerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsModifyAckDeadlineCall) Fields(s ...googleapi.Field) *SubscriptionsModifyAckDeadlineCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsModifyAckDeadlineCall) Context(ctx context.Context) *SubscriptionsModifyAckDeadlineCall {
 	c.ctx_ = ctx
 	return c
@@ -1229,9 +1256,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/modifyAckDeadline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1274,7 +1305,7 @@
 type SubscriptionsModifyPushConfigCall struct {
 	s                       *Service
 	modifypushconfigrequest *ModifyPushConfigRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -1284,22 +1315,22 @@
 // Messages will be accumulated for delivery even if no push
 // configuration is defined or while the configuration is modified.
 func (r *SubscriptionsService) ModifyPushConfig(modifypushconfigrequest *ModifyPushConfigRequest) *SubscriptionsModifyPushConfigCall {
-	c := &SubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsModifyPushConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.modifypushconfigrequest = modifypushconfigrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsModifyPushConfigCall) Fields(s ...googleapi.Field) *SubscriptionsModifyPushConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsModifyPushConfigCall) Context(ctx context.Context) *SubscriptionsModifyPushConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -1312,9 +1343,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/modifyPushConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1357,7 +1392,7 @@
 type SubscriptionsPullCall struct {
 	s           *Service
 	pullrequest *PullRequest
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -1367,22 +1402,22 @@
 // UNAVAILABLE error if no messages are available in a reasonable amount
 // of time (to reduce system load).
 func (r *SubscriptionsService) Pull(pullrequest *PullRequest) *SubscriptionsPullCall {
-	c := &SubscriptionsPullCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsPullCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pullrequest = pullrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsPullCall) Fields(s ...googleapi.Field) *SubscriptionsPullCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsPullCall) Context(ctx context.Context) *SubscriptionsPullCall {
 	c.ctx_ = ctx
 	return c
@@ -1395,9 +1430,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/pull")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1467,7 +1506,7 @@
 type SubscriptionsPullBatchCall struct {
 	s                *Service
 	pullbatchrequest *PullBatchRequest
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -1476,22 +1515,22 @@
 // return UNAVAILABLE if there are too many pull requests outstanding
 // for the given subscription.
 func (r *SubscriptionsService) PullBatch(pullbatchrequest *PullBatchRequest) *SubscriptionsPullBatchCall {
-	c := &SubscriptionsPullBatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsPullBatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pullbatchrequest = pullbatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsPullBatchCall) Fields(s ...googleapi.Field) *SubscriptionsPullBatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsPullBatchCall) Context(ctx context.Context) *SubscriptionsPullBatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1504,9 +1543,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/pullBatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1574,30 +1617,30 @@
 // method id "pubsub.topics.create":
 
 type TopicsCreateCall struct {
-	s          *Service
-	topic      *Topic
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	topic *Topic
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Creates the given topic with the given name.
 func (r *TopicsService) Create(topic *Topic) *TopicsCreateCall {
-	c := &TopicsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsCreateCall) Fields(s ...googleapi.Field) *TopicsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsCreateCall) Context(ctx context.Context) *TopicsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1610,9 +1653,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "topics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1680,32 +1727,32 @@
 // method id "pubsub.topics.delete":
 
 type TopicsDeleteCall struct {
-	s          *Service
-	topic      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Delete: Deletes the topic with the given name. Returns NOT_FOUND if
 // the topic does not exist. After a topic is deleted, a new topic may
 // be created with the same name.
 func (r *TopicsService) Delete(topic string) *TopicsDeleteCall {
-	c := &TopicsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsDeleteCall) Fields(s ...googleapi.Field) *TopicsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsDeleteCall) Context(ctx context.Context) *TopicsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1713,9 +1760,13 @@
 
 func (c *TopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "topics/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
@@ -1765,11 +1816,10 @@
 // method id "pubsub.topics.get":
 
 type TopicsGetCall struct {
-	s            *Service
-	topic        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Gets the configuration of a topic. Since the topic only has the
@@ -1777,16 +1827,16 @@
 // a topic. If other attributes are added in the future, they will be
 // returned here.
 func (r *TopicsService) Get(topic string) *TopicsGetCall {
-	c := &TopicsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsGetCall) Fields(s ...googleapi.Field) *TopicsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1796,13 +1846,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TopicsGetCall) IfNoneMatch(entityTag string) *TopicsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsGetCall) Context(ctx context.Context) *TopicsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1810,16 +1860,20 @@
 
 func (c *TopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "topics/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1892,44 +1946,43 @@
 // method id "pubsub.topics.list":
 
 type TopicsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists matching topics.
 func (r *TopicsService) List() *TopicsListCall {
-	c := &TopicsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of topics to return.
 func (c *TopicsListCall) MaxResults(maxResults int64) *TopicsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value obtained
 // in the last ListTopicsResponse for continuation.
 func (c *TopicsListCall) PageToken(pageToken string) *TopicsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Query sets the optional parameter "query": A valid label query
 // expression.
 func (c *TopicsListCall) Query(query string) *TopicsListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsListCall) Fields(s ...googleapi.Field) *TopicsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1939,13 +1992,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TopicsListCall) IfNoneMatch(entityTag string) *TopicsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsListCall) Context(ctx context.Context) *TopicsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1953,14 +2006,27 @@
 
 func (c *TopicsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "topics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2042,29 +2108,29 @@
 type TopicsPublishCall struct {
 	s              *Service
 	publishrequest *PublishRequest
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Publish: Adds a message to the topic. Returns NOT_FOUND if the topic
 // does not exist.
 func (r *TopicsService) Publish(publishrequest *PublishRequest) *TopicsPublishCall {
-	c := &TopicsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.publishrequest = publishrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsPublishCall) Fields(s ...googleapi.Field) *TopicsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsPublishCall) Context(ctx context.Context) *TopicsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -2077,9 +2143,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "topics/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2122,29 +2192,29 @@
 type TopicsPublishBatchCall struct {
 	s                   *Service
 	publishbatchrequest *PublishBatchRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // PublishBatch: Adds one or more messages to the topic. Returns
 // NOT_FOUND if the topic does not exist.
 func (r *TopicsService) PublishBatch(publishbatchrequest *PublishBatchRequest) *TopicsPublishBatchCall {
-	c := &TopicsPublishBatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsPublishBatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.publishbatchrequest = publishbatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsPublishBatchCall) Fields(s ...googleapi.Field) *TopicsPublishBatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsPublishBatchCall) Context(ctx context.Context) *TopicsPublishBatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2157,9 +2227,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "topics/publishBatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/pubsub/v1beta1a/pubsub-gen.go b/pubsub/v1beta1a/pubsub-gen.go
index ac06e9a..36e8086 100644
--- a/pubsub/v1beta1a/pubsub-gen.go
+++ b/pubsub/v1beta1a/pubsub-gen.go
@@ -644,7 +644,7 @@
 type SubscriptionsAcknowledgeCall struct {
 	s                  *Service
 	acknowledgerequest *AcknowledgeRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -655,22 +655,22 @@
 // message more than once will not result in an error. This is only used
 // for messages received via pull.
 func (r *SubscriptionsService) Acknowledge(acknowledgerequest *AcknowledgeRequest) *SubscriptionsAcknowledgeCall {
-	c := &SubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsAcknowledgeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.acknowledgerequest = acknowledgerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsAcknowledgeCall) Fields(s ...googleapi.Field) *SubscriptionsAcknowledgeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsAcknowledgeCall) Context(ctx context.Context) *SubscriptionsAcknowledgeCall {
 	c.ctx_ = ctx
 	return c
@@ -683,9 +683,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/acknowledge")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -755,7 +759,7 @@
 type SubscriptionsCreateCall struct {
 	s            *Service
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -766,22 +770,22 @@
 // will assign a random name for this subscription on the same project
 // as the topic.
 func (r *SubscriptionsService) Create(subscription *Subscription) *SubscriptionsCreateCall {
-	c := &SubscriptionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsCreateCall) Fields(s ...googleapi.Field) *SubscriptionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsCreateCall) Context(ctx context.Context) *SubscriptionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -794,9 +798,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -866,7 +874,7 @@
 type SubscriptionsDeleteCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -874,22 +882,22 @@
 // subscription are immediately dropped. Calls to Pull after deletion
 // will return NOT_FOUND.
 func (r *SubscriptionsService) Delete(subscription string) *SubscriptionsDeleteCall {
-	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -897,9 +905,13 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -979,23 +991,22 @@
 type SubscriptionsGetCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets the configuration details of a subscription.
 func (r *SubscriptionsService) Get(subscription string) *SubscriptionsGetCall {
-	c := &SubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsGetCall) Fields(s ...googleapi.Field) *SubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1005,13 +1016,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsGetCall) IfNoneMatch(entityTag string) *SubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsGetCall) Context(ctx context.Context) *SubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1019,16 +1030,20 @@
 
 func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1102,44 +1117,43 @@
 // method id "pubsub.subscriptions.list":
 
 type SubscriptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists matching subscriptions.
 func (r *SubscriptionsService) List() *SubscriptionsListCall {
-	c := &SubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of subscriptions to return.
 func (c *SubscriptionsListCall) MaxResults(maxResults int64) *SubscriptionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value obtained
 // in the last ListSubscriptionsResponse for continuation.
 func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Query sets the optional parameter "query": A valid label query
 // expression.
 func (c *SubscriptionsListCall) Query(query string) *SubscriptionsListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1149,13 +1163,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1163,14 +1177,27 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1252,29 +1279,29 @@
 type SubscriptionsModifyAckDeadlineCall struct {
 	s                        *Service
 	modifyackdeadlinerequest *ModifyAckDeadlineRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
 // ModifyAckDeadline: Modifies the Ack deadline for a message received
 // from a pull request.
 func (r *SubscriptionsService) ModifyAckDeadline(modifyackdeadlinerequest *ModifyAckDeadlineRequest) *SubscriptionsModifyAckDeadlineCall {
-	c := &SubscriptionsModifyAckDeadlineCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsModifyAckDeadlineCall{s: r.s, opt_: make(map[string]interface{})}
 	c.modifyackdeadlinerequest = modifyackdeadlinerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsModifyAckDeadlineCall) Fields(s ...googleapi.Field) *SubscriptionsModifyAckDeadlineCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsModifyAckDeadlineCall) Context(ctx context.Context) *SubscriptionsModifyAckDeadlineCall {
 	c.ctx_ = ctx
 	return c
@@ -1287,9 +1314,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/modifyAckDeadline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1359,7 +1390,7 @@
 type SubscriptionsModifyPushConfigCall struct {
 	s                       *Service
 	modifypushconfigrequest *ModifyPushConfigRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -1369,22 +1400,22 @@
 // Messages will be accumulated for delivery even if no push
 // configuration is defined or while the configuration is modified.
 func (r *SubscriptionsService) ModifyPushConfig(modifypushconfigrequest *ModifyPushConfigRequest) *SubscriptionsModifyPushConfigCall {
-	c := &SubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsModifyPushConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.modifypushconfigrequest = modifypushconfigrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsModifyPushConfigCall) Fields(s ...googleapi.Field) *SubscriptionsModifyPushConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsModifyPushConfigCall) Context(ctx context.Context) *SubscriptionsModifyPushConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -1397,9 +1428,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/modifyPushConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1469,7 +1504,7 @@
 type SubscriptionsPullCall struct {
 	s           *Service
 	pullrequest *PullRequest
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -1479,22 +1514,22 @@
 // UNAVAILABLE error if no messages are available in a reasonable amount
 // of time (to reduce system load).
 func (r *SubscriptionsService) Pull(pullrequest *PullRequest) *SubscriptionsPullCall {
-	c := &SubscriptionsPullCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsPullCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pullrequest = pullrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsPullCall) Fields(s ...googleapi.Field) *SubscriptionsPullCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsPullCall) Context(ctx context.Context) *SubscriptionsPullCall {
 	c.ctx_ = ctx
 	return c
@@ -1507,9 +1542,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/pull")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1579,7 +1618,7 @@
 type SubscriptionsPullBatchCall struct {
 	s                *Service
 	pullbatchrequest *PullBatchRequest
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -1588,22 +1627,22 @@
 // return UNAVAILABLE if there are too many pull requests outstanding
 // for the given subscription.
 func (r *SubscriptionsService) PullBatch(pullbatchrequest *PullBatchRequest) *SubscriptionsPullBatchCall {
-	c := &SubscriptionsPullBatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsPullBatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pullbatchrequest = pullbatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsPullBatchCall) Fields(s ...googleapi.Field) *SubscriptionsPullBatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsPullBatchCall) Context(ctx context.Context) *SubscriptionsPullBatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1616,9 +1655,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/subscriptions/pullBatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1686,30 +1729,30 @@
 // method id "pubsub.topics.create":
 
 type TopicsCreateCall struct {
-	s          *Service
-	topic      *Topic
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	topic *Topic
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Creates the given topic with the given name.
 func (r *TopicsService) Create(topic *Topic) *TopicsCreateCall {
-	c := &TopicsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsCreateCall) Fields(s ...googleapi.Field) *TopicsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsCreateCall) Context(ctx context.Context) *TopicsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1722,9 +1765,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/topics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1792,32 +1839,32 @@
 // method id "pubsub.topics.delete":
 
 type TopicsDeleteCall struct {
-	s          *Service
-	topic      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Delete: Deletes the topic with the given name. Returns NOT_FOUND if
 // the topic does not exist. After a topic is deleted, a new topic may
 // be created with the same name.
 func (r *TopicsService) Delete(topic string) *TopicsDeleteCall {
-	c := &TopicsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsDeleteCall) Fields(s ...googleapi.Field) *TopicsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsDeleteCall) Context(ctx context.Context) *TopicsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1825,9 +1872,13 @@
 
 func (c *TopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/topics/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
@@ -1905,11 +1956,10 @@
 // method id "pubsub.topics.get":
 
 type TopicsGetCall struct {
-	s            *Service
-	topic        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Gets the configuration of a topic. Since the topic only has the
@@ -1917,16 +1967,16 @@
 // a topic. If other attributes are added in the future, they will be
 // returned here.
 func (r *TopicsService) Get(topic string) *TopicsGetCall {
-	c := &TopicsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsGetCall) Fields(s ...googleapi.Field) *TopicsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1936,13 +1986,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TopicsGetCall) IfNoneMatch(entityTag string) *TopicsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsGetCall) Context(ctx context.Context) *TopicsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1950,16 +2000,20 @@
 
 func (c *TopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/topics/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2033,44 +2087,43 @@
 // method id "pubsub.topics.list":
 
 type TopicsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists matching topics.
 func (r *TopicsService) List() *TopicsListCall {
-	c := &TopicsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of topics to return.
 func (c *TopicsListCall) MaxResults(maxResults int64) *TopicsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The value obtained
 // in the last ListTopicsResponse for continuation.
 func (c *TopicsListCall) PageToken(pageToken string) *TopicsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Query sets the optional parameter "query": A valid label query
 // expression.
 func (c *TopicsListCall) Query(query string) *TopicsListCall {
-	c.urlParams_.Set("query", query)
+	c.opt_["query"] = query
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsListCall) Fields(s ...googleapi.Field) *TopicsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2080,13 +2133,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TopicsListCall) IfNoneMatch(entityTag string) *TopicsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsListCall) Context(ctx context.Context) *TopicsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2094,14 +2147,27 @@
 
 func (c *TopicsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["query"]; ok {
+		params.Set("query", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/topics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2183,29 +2249,29 @@
 type TopicsPublishCall struct {
 	s              *Service
 	publishrequest *PublishRequest
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Publish: Adds a message to the topic. Returns NOT_FOUND if the topic
 // does not exist.
 func (r *TopicsService) Publish(publishrequest *PublishRequest) *TopicsPublishCall {
-	c := &TopicsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.publishrequest = publishrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsPublishCall) Fields(s ...googleapi.Field) *TopicsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsPublishCall) Context(ctx context.Context) *TopicsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -2218,9 +2284,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/topics/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2290,29 +2360,29 @@
 type TopicsPublishBatchCall struct {
 	s                   *Service
 	publishbatchrequest *PublishBatchRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // PublishBatch: Adds one or more messages to the topic. Returns
 // NOT_FOUND if the topic does not exist.
 func (r *TopicsService) PublishBatch(publishbatchrequest *PublishBatchRequest) *TopicsPublishBatchCall {
-	c := &TopicsPublishBatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TopicsPublishBatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.publishbatchrequest = publishbatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TopicsPublishBatchCall) Fields(s ...googleapi.Field) *TopicsPublishBatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TopicsPublishBatchCall) Context(ctx context.Context) *TopicsPublishBatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2325,9 +2395,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1a/topics/publishBatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/pubsub/v1beta2/pubsub-gen.go b/pubsub/v1beta2/pubsub-gen.go
index 097059f..1624007 100644
--- a/pubsub/v1beta2/pubsub-gen.go
+++ b/pubsub/v1beta2/pubsub-gen.go
@@ -737,7 +737,7 @@
 	s                  *Service
 	subscription       string
 	acknowledgerequest *AcknowledgeRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -748,23 +748,23 @@
 // redelivered later. Acknowledging a message more than once will not
 // result in an error.
 func (r *ProjectsSubscriptionsService) Acknowledge(subscription string, acknowledgerequest *AcknowledgeRequest) *ProjectsSubscriptionsAcknowledgeCall {
-	c := &ProjectsSubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsAcknowledgeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.acknowledgerequest = acknowledgerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsAcknowledgeCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsAcknowledgeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsAcknowledgeCall) Context(ctx context.Context) *ProjectsSubscriptionsAcknowledgeCall {
 	c.ctx_ = ctx
 	return c
@@ -777,9 +777,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+subscription}:acknowledge")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -864,7 +868,7 @@
 	s            *Service
 	name         string
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -875,23 +879,23 @@
 // will assign a random name for this subscription on the same project
 // as the topic.
 func (r *ProjectsSubscriptionsService) Create(name string, subscription *Subscription) *ProjectsSubscriptionsCreateCall {
-	c := &ProjectsSubscriptionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsCreateCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsCreateCall) Context(ctx context.Context) *ProjectsSubscriptionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -904,9 +908,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -990,7 +998,7 @@
 type ProjectsSubscriptionsDeleteCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1001,22 +1009,22 @@
 // with the old subscription, or its topic unless the same topic is
 // specified.
 func (r *ProjectsSubscriptionsService) Delete(subscription string) *ProjectsSubscriptionsDeleteCall {
-	c := &ProjectsSubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsDeleteCall) Context(ctx context.Context) *ProjectsSubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1024,9 +1032,13 @@
 
 func (c *ProjectsSubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1106,23 +1118,22 @@
 type ProjectsSubscriptionsGetCall struct {
 	s            *Service
 	subscription string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets the configuration details of a subscription.
 func (r *ProjectsSubscriptionsService) Get(subscription string) *ProjectsSubscriptionsGetCall {
-	c := &ProjectsSubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsGetCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1132,13 +1143,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSubscriptionsGetCall) IfNoneMatch(entityTag string) *ProjectsSubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsGetCall) Context(ctx context.Context) *ProjectsSubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1146,16 +1157,20 @@
 
 func (c *ProjectsSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+subscription}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1229,26 +1244,25 @@
 // method id "pubsub.projects.subscriptions.getIamPolicy":
 
 type ProjectsSubscriptionsGetIamPolicyCall struct {
-	s            *Service
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. Is empty
 // if the policy or the resource does not exist.
 func (r *ProjectsSubscriptionsService) GetIamPolicy(resource string) *ProjectsSubscriptionsGetIamPolicyCall {
-	c := &ProjectsSubscriptionsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1258,13 +1272,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSubscriptionsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsSubscriptionsGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsGetIamPolicyCall) Context(ctx context.Context) *ProjectsSubscriptionsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1272,16 +1286,20 @@
 
 func (c *ProjectsSubscriptionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1355,16 +1373,15 @@
 // method id "pubsub.projects.subscriptions.list":
 
 type ProjectsSubscriptionsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists matching subscriptions.
 func (r *ProjectsSubscriptionsService) List(project string) *ProjectsSubscriptionsListCall {
-	c := &ProjectsSubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -1372,7 +1389,7 @@
 // PageSize sets the optional parameter "pageSize": Maximum number of
 // subscriptions to return.
 func (c *ProjectsSubscriptionsListCall) PageSize(pageSize int64) *ProjectsSubscriptionsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -1381,15 +1398,15 @@
 // continuation of a prior ListSubscriptions call, and that the system
 // should return the next page of data.
 func (c *ProjectsSubscriptionsListCall) PageToken(pageToken string) *ProjectsSubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsListCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1399,13 +1416,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsSubscriptionsListCall) IfNoneMatch(entityTag string) *ProjectsSubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsListCall) Context(ctx context.Context) *ProjectsSubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1413,16 +1430,26 @@
 
 func (c *ProjectsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+project}/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1510,7 +1537,7 @@
 	s                        *Service
 	subscription             string
 	modifyackdeadlinerequest *ModifyAckDeadlineRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -1519,23 +1546,23 @@
 // a message by the subscriber, or to make the message available for
 // redelivery if the processing was interrupted.
 func (r *ProjectsSubscriptionsService) ModifyAckDeadline(subscription string, modifyackdeadlinerequest *ModifyAckDeadlineRequest) *ProjectsSubscriptionsModifyAckDeadlineCall {
-	c := &ProjectsSubscriptionsModifyAckDeadlineCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsModifyAckDeadlineCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.modifyackdeadlinerequest = modifyackdeadlinerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsModifyAckDeadlineCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsModifyAckDeadlineCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsModifyAckDeadlineCall) Context(ctx context.Context) *ProjectsSubscriptionsModifyAckDeadlineCall {
 	c.ctx_ = ctx
 	return c
@@ -1548,9 +1575,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+subscription}:modifyAckDeadline")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1635,7 +1666,7 @@
 	s                       *Service
 	subscription            string
 	modifypushconfigrequest *ModifyPushConfigRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -1646,23 +1677,23 @@
 // Messages will accumulate for delivery continuously through the call
 // regardless of changes to the PushConfig.
 func (r *ProjectsSubscriptionsService) ModifyPushConfig(subscription string, modifypushconfigrequest *ModifyPushConfigRequest) *ProjectsSubscriptionsModifyPushConfigCall {
-	c := &ProjectsSubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsModifyPushConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.modifypushconfigrequest = modifypushconfigrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsModifyPushConfigCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsModifyPushConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsModifyPushConfigCall) Context(ctx context.Context) *ProjectsSubscriptionsModifyPushConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -1675,9 +1706,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+subscription}:modifyPushConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1762,7 +1797,7 @@
 	s            *Service
 	subscription string
 	pullrequest  *PullRequest
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
@@ -1771,23 +1806,23 @@
 // UNAVAILABLE if there are too many concurrent pull requests pending
 // for the given subscription.
 func (r *ProjectsSubscriptionsService) Pull(subscription string, pullrequest *PullRequest) *ProjectsSubscriptionsPullCall {
-	c := &ProjectsSubscriptionsPullCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsPullCall{s: r.s, opt_: make(map[string]interface{})}
 	c.subscription = subscription
 	c.pullrequest = pullrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsPullCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsPullCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsPullCall) Context(ctx context.Context) *ProjectsSubscriptionsPullCall {
 	c.ctx_ = ctx
 	return c
@@ -1800,9 +1835,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+subscription}:pull")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"subscription": c.subscription,
@@ -1887,30 +1926,30 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *ProjectsSubscriptionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSubscriptionsSetIamPolicyCall {
-	c := &ProjectsSubscriptionsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsSetIamPolicyCall) Context(ctx context.Context) *ProjectsSubscriptionsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -1923,9 +1962,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -2010,30 +2053,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *ProjectsSubscriptionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSubscriptionsTestIamPermissionsCall {
-	c := &ProjectsSubscriptionsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsSubscriptionsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsSubscriptionsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsSubscriptionsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsSubscriptionsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsSubscriptionsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -2046,9 +2089,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -2130,32 +2177,32 @@
 // method id "pubsub.projects.topics.create":
 
 type ProjectsTopicsCreateCall struct {
-	s          *Service
-	name       string
-	topic      *Topic
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	name  string
+	topic *Topic
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Create: Creates the given topic with the given name.
 func (r *ProjectsTopicsService) Create(name string, topic *Topic) *ProjectsTopicsCreateCall {
-	c := &ProjectsTopicsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsCreateCall) Fields(s ...googleapi.Field) *ProjectsTopicsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsCreateCall) Context(ctx context.Context) *ProjectsTopicsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2168,9 +2215,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -2252,10 +2303,10 @@
 // method id "pubsub.projects.topics.delete":
 
 type ProjectsTopicsDeleteCall struct {
-	s          *Service
-	topic      string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Delete: Deletes the topic with the given name. Returns NOT_FOUND if
@@ -2265,22 +2316,22 @@
 // subscriptions to this topic are not deleted, but their `topic` field
 // is set to `_deleted-topic_`.
 func (r *ProjectsTopicsService) Delete(topic string) *ProjectsTopicsDeleteCall {
-	c := &ProjectsTopicsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsDeleteCall) Fields(s ...googleapi.Field) *ProjectsTopicsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsDeleteCall) Context(ctx context.Context) *ProjectsTopicsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2288,9 +2339,13 @@
 
 func (c *ProjectsTopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
@@ -2368,25 +2423,24 @@
 // method id "pubsub.projects.topics.get":
 
 type ProjectsTopicsGetCall struct {
-	s            *Service
-	topic        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Get: Gets the configuration of a topic.
 func (r *ProjectsTopicsService) Get(topic string) *ProjectsTopicsGetCall {
-	c := &ProjectsTopicsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsGetCall) Fields(s ...googleapi.Field) *ProjectsTopicsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2396,13 +2450,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsGetCall) IfNoneMatch(entityTag string) *ProjectsTopicsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsGetCall) Context(ctx context.Context) *ProjectsTopicsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2410,16 +2464,20 @@
 
 func (c *ProjectsTopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+topic}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2493,26 +2551,25 @@
 // method id "pubsub.projects.topics.getIamPolicy":
 
 type ProjectsTopicsGetIamPolicyCall struct {
-	s            *Service
-	resource     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	resource string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. Is empty
 // if the policy or the resource does not exist.
 func (r *ProjectsTopicsService) GetIamPolicy(resource string) *ProjectsTopicsGetIamPolicyCall {
-	c := &ProjectsTopicsGetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsGetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsTopicsGetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2522,13 +2579,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsTopicsGetIamPolicyCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsGetIamPolicyCall) Context(ctx context.Context) *ProjectsTopicsGetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -2536,16 +2593,20 @@
 
 func (c *ProjectsTopicsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:getIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2619,16 +2680,15 @@
 // method id "pubsub.projects.topics.list":
 
 type ProjectsTopicsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists matching topics.
 func (r *ProjectsTopicsService) List(project string) *ProjectsTopicsListCall {
-	c := &ProjectsTopicsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2636,7 +2696,7 @@
 // PageSize sets the optional parameter "pageSize": Maximum number of
 // topics to return.
 func (c *ProjectsTopicsListCall) PageSize(pageSize int64) *ProjectsTopicsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -2645,15 +2705,15 @@
 // of a prior ListTopics call, and that the system should return the
 // next page of data.
 func (c *ProjectsTopicsListCall) PageToken(pageToken string) *ProjectsTopicsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsListCall) Fields(s ...googleapi.Field) *ProjectsTopicsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2663,13 +2723,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsListCall) IfNoneMatch(entityTag string) *ProjectsTopicsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsListCall) Context(ctx context.Context) *ProjectsTopicsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2677,16 +2737,26 @@
 
 func (c *ProjectsTopicsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+project}/topics")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2774,7 +2844,7 @@
 	s              *Service
 	topic          string
 	publishrequest *PublishRequest
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
@@ -2783,23 +2853,23 @@
 // must contain either a non-empty data field, or at least one
 // attribute.
 func (r *ProjectsTopicsService) Publish(topic string, publishrequest *PublishRequest) *ProjectsTopicsPublishCall {
-	c := &ProjectsTopicsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	c.publishrequest = publishrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsPublishCall) Fields(s ...googleapi.Field) *ProjectsTopicsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsPublishCall) Context(ctx context.Context) *ProjectsTopicsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -2812,9 +2882,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+topic}:publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
@@ -2899,30 +2973,30 @@
 	s                   *Service
 	resource            string
 	setiampolicyrequest *SetIamPolicyRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
 // resource. Replaces any existing policy.
 func (r *ProjectsTopicsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsTopicsSetIamPolicyCall {
-	c := &ProjectsTopicsSetIamPolicyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsSetIamPolicyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.setiampolicyrequest = setiampolicyrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsTopicsSetIamPolicyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsSetIamPolicyCall) Context(ctx context.Context) *ProjectsTopicsSetIamPolicyCall {
 	c.ctx_ = ctx
 	return c
@@ -2935,9 +3009,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:setIamPolicy")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3022,30 +3100,30 @@
 	s                         *Service
 	resource                  string
 	testiampermissionsrequest *TestIamPermissionsRequest
-	urlParams_                internal.URLParams
+	opt_                      map[string]interface{}
 	ctx_                      context.Context
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
 // specified resource.
 func (r *ProjectsTopicsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTopicsTestIamPermissionsCall {
-	c := &ProjectsTopicsTestIamPermissionsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsTestIamPermissionsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.resource = resource
 	c.testiampermissionsrequest = testiampermissionsrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsTopicsTestIamPermissionsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsTopicsTestIamPermissionsCall {
 	c.ctx_ = ctx
 	return c
@@ -3058,9 +3136,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:testIamPermissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"resource": c.resource,
@@ -3142,16 +3224,15 @@
 // method id "pubsub.projects.topics.subscriptions.list":
 
 type ProjectsTopicsSubscriptionsListCall struct {
-	s            *Service
-	topic        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s     *Service
+	topic string
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // List: Lists the name of the subscriptions for this topic.
 func (r *ProjectsTopicsSubscriptionsService) List(topic string) *ProjectsTopicsSubscriptionsListCall {
-	c := &ProjectsTopicsSubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ProjectsTopicsSubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.topic = topic
 	return c
 }
@@ -3159,7 +3240,7 @@
 // PageSize sets the optional parameter "pageSize": Maximum number of
 // subscription names to return.
 func (c *ProjectsTopicsSubscriptionsListCall) PageSize(pageSize int64) *ProjectsTopicsSubscriptionsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
@@ -3168,15 +3249,15 @@
 // continuation of a prior ListTopicSubscriptions call, and that the
 // system should return the next page of data.
 func (c *ProjectsTopicsSubscriptionsListCall) PageToken(pageToken string) *ProjectsTopicsSubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ProjectsTopicsSubscriptionsListCall) Fields(s ...googleapi.Field) *ProjectsTopicsSubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3186,13 +3267,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ProjectsTopicsSubscriptionsListCall) IfNoneMatch(entityTag string) *ProjectsTopicsSubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ProjectsTopicsSubscriptionsListCall) Context(ctx context.Context) *ProjectsTopicsSubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3200,16 +3281,26 @@
 
 func (c *ProjectsTopicsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+topic}/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"topic": c.topic,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/qpxexpress/v1/qpxexpress-gen.go b/qpxexpress/v1/qpxexpress-gen.go
index c8745ea..c630965 100644
--- a/qpxexpress/v1/qpxexpress-gen.go
+++ b/qpxexpress/v1/qpxexpress-gen.go
@@ -1051,28 +1051,28 @@
 type TripsSearchCall struct {
 	s                  *Service
 	tripssearchrequest *TripsSearchRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Search: Returns a list of flights.
 func (r *TripsService) Search(tripssearchrequest *TripsSearchRequest) *TripsSearchCall {
-	c := &TripsSearchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TripsSearchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tripssearchrequest = tripssearchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TripsSearchCall) Fields(s ...googleapi.Field) *TripsSearchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TripsSearchCall) Context(ctx context.Context) *TripsSearchCall {
 	c.ctx_ = ctx
 	return c
@@ -1085,9 +1085,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/replicapool/v1beta1/replicapool-gen.go b/replicapool/v1beta1/replicapool-gen.go
index 18b4666..6e281ef 100644
--- a/replicapool/v1beta1/replicapool-gen.go
+++ b/replicapool/v1beta1/replicapool-gen.go
@@ -882,13 +882,13 @@
 	zone               string
 	poolName           string
 	poolsdeleterequest *PoolsDeleteRequest
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Delete: Deletes a replica pool.
 func (r *PoolsService) Delete(projectName string, zone string, poolName string, poolsdeleterequest *PoolsDeleteRequest) *PoolsDeleteCall {
-	c := &PoolsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PoolsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -896,17 +896,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PoolsDeleteCall) Fields(s ...googleapi.Field) *PoolsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PoolsDeleteCall) Context(ctx context.Context) *PoolsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -919,9 +919,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -992,29 +996,28 @@
 // method id "replicapool.pools.get":
 
 type PoolsGetCall struct {
-	s            *Service
-	projectName  string
-	zone         string
-	poolName     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectName string
+	zone        string
+	poolName    string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets information about a single replica pool.
 func (r *PoolsService) Get(projectName string, zone string, poolName string) *PoolsGetCall {
-	c := &PoolsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PoolsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PoolsGetCall) Fields(s ...googleapi.Field) *PoolsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1024,13 +1027,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PoolsGetCall) IfNoneMatch(entityTag string) *PoolsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PoolsGetCall) Context(ctx context.Context) *PoolsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1038,9 +1041,13 @@
 
 func (c *PoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1048,8 +1055,8 @@
 		"poolName":    c.poolName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1144,30 +1151,30 @@
 	projectName string
 	zone        string
 	pool        *Pool
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Insert: Inserts a new replica pool.
 func (r *PoolsService) Insert(projectName string, zone string, pool *Pool) *PoolsInsertCall {
-	c := &PoolsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PoolsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.pool = pool
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PoolsInsertCall) Fields(s ...googleapi.Field) *PoolsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PoolsInsertCall) Context(ctx context.Context) *PoolsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1180,9 +1187,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1272,17 +1283,16 @@
 // method id "replicapool.pools.list":
 
 type PoolsListCall struct {
-	s            *Service
-	projectName  string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectName string
+	zone        string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: List all replica pools.
 func (r *PoolsService) List(projectName string, zone string) *PoolsListCall {
-	c := &PoolsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PoolsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	return c
@@ -1292,7 +1302,7 @@
 // results to be returned. Acceptable values are 0 to 100, inclusive.
 // (Default: 50)
 func (c *PoolsListCall) MaxResults(maxResults int64) *PoolsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1300,15 +1310,15 @@
 // nextPageToken value returned by a previous list request to obtain the
 // next page of results from the previous list request.
 func (c *PoolsListCall) PageToken(pageToken string) *PoolsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PoolsListCall) Fields(s ...googleapi.Field) *PoolsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1318,13 +1328,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PoolsListCall) IfNoneMatch(entityTag string) *PoolsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PoolsListCall) Context(ctx context.Context) *PoolsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1332,17 +1342,27 @@
 
 func (c *PoolsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
 		"zone":        c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1444,7 +1464,7 @@
 	projectName string
 	zone        string
 	poolName    string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
@@ -1452,7 +1472,7 @@
 // multiple overlapping resize requests can be made. Replica Pools will
 // use the information from the last resize request.
 func (r *PoolsService) Resize(projectName string, zone string, poolName string) *PoolsResizeCall {
-	c := &PoolsResizeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PoolsResizeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -1464,21 +1484,21 @@
 // existing number of replicas, new replicas will be added. If the
 // number is smaller, then existing replicas will be deleted.
 func (c *PoolsResizeCall) NumReplicas(numReplicas int64) *PoolsResizeCall {
-	c.urlParams_.Set("numReplicas", fmt.Sprintf("%v", numReplicas))
+	c.opt_["numReplicas"] = numReplicas
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PoolsResizeCall) Fields(s ...googleapi.Field) *PoolsResizeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PoolsResizeCall) Context(ctx context.Context) *PoolsResizeCall {
 	c.ctx_ = ctx
 	return c
@@ -1486,9 +1506,16 @@
 
 func (c *PoolsResizeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["numReplicas"]; ok {
+		params.Set("numReplicas", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}/resize")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1593,13 +1620,13 @@
 	zone        string
 	poolName    string
 	template    *Template
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Updatetemplate: Update the template used by the pool.
 func (r *PoolsService) Updatetemplate(projectName string, zone string, poolName string, template *Template) *PoolsUpdatetemplateCall {
-	c := &PoolsUpdatetemplateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PoolsUpdatetemplateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -1607,17 +1634,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PoolsUpdatetemplateCall) Fields(s ...googleapi.Field) *PoolsUpdatetemplateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PoolsUpdatetemplateCall) Context(ctx context.Context) *PoolsUpdatetemplateCall {
 	c.ctx_ = ctx
 	return c
@@ -1630,9 +1657,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}/updateTemplate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1709,13 +1740,13 @@
 	poolName              string
 	replicaName           string
 	replicasdeleterequest *ReplicasDeleteRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Delete: Deletes a replica from the pool.
 func (r *ReplicasService) Delete(projectName string, zone string, poolName string, replicaName string, replicasdeleterequest *ReplicasDeleteRequest) *ReplicasDeleteCall {
-	c := &ReplicasDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReplicasDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -1724,17 +1755,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReplicasDeleteCall) Fields(s ...googleapi.Field) *ReplicasDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReplicasDeleteCall) Context(ctx context.Context) *ReplicasDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1747,9 +1778,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1855,19 +1890,18 @@
 // method id "replicapool.replicas.get":
 
 type ReplicasGetCall struct {
-	s            *Service
-	projectName  string
-	zone         string
-	poolName     string
-	replicaName  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectName string
+	zone        string
+	poolName    string
+	replicaName string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets information about a specific replica.
 func (r *ReplicasService) Get(projectName string, zone string, poolName string, replicaName string) *ReplicasGetCall {
-	c := &ReplicasGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReplicasGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -1875,11 +1909,11 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReplicasGetCall) Fields(s ...googleapi.Field) *ReplicasGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1889,13 +1923,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReplicasGetCall) IfNoneMatch(entityTag string) *ReplicasGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReplicasGetCall) Context(ctx context.Context) *ReplicasGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1903,9 +1937,13 @@
 
 func (c *ReplicasGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1914,8 +1952,8 @@
 		"replicaName": c.replicaName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2013,18 +2051,17 @@
 // method id "replicapool.replicas.list":
 
 type ReplicasListCall struct {
-	s            *Service
-	projectName  string
-	zone         string
-	poolName     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectName string
+	zone        string
+	poolName    string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all replicas in a pool.
 func (r *ReplicasService) List(projectName string, zone string, poolName string) *ReplicasListCall {
-	c := &ReplicasListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReplicasListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -2035,7 +2072,7 @@
 // results to be returned. Acceptable values are 0 to 100, inclusive.
 // (Default: 50)
 func (c *ReplicasListCall) MaxResults(maxResults int64) *ReplicasListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2043,15 +2080,15 @@
 // nextPageToken value returned by a previous list request to obtain the
 // next page of results from the previous list request.
 func (c *ReplicasListCall) PageToken(pageToken string) *ReplicasListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReplicasListCall) Fields(s ...googleapi.Field) *ReplicasListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2061,13 +2098,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReplicasListCall) IfNoneMatch(entityTag string) *ReplicasListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReplicasListCall) Context(ctx context.Context) *ReplicasListCall {
 	c.ctx_ = ctx
 	return c
@@ -2075,9 +2112,19 @@
 
 func (c *ReplicasListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}/replicas")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -2085,8 +2132,8 @@
 		"poolName":    c.poolName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2196,13 +2243,13 @@
 	zone        string
 	poolName    string
 	replicaName string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Restart: Restarts a replica in a pool.
 func (r *ReplicasService) Restart(projectName string, zone string, poolName string, replicaName string) *ReplicasRestartCall {
-	c := &ReplicasRestartCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ReplicasRestartCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.poolName = poolName
@@ -2210,17 +2257,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReplicasRestartCall) Fields(s ...googleapi.Field) *ReplicasRestartCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReplicasRestartCall) Context(ctx context.Context) *ReplicasRestartCall {
 	c.ctx_ = ctx
 	return c
@@ -2228,9 +2275,13 @@
 
 func (c *ReplicasRestartCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}/restart")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
diff --git a/replicapool/v1beta2/replicapool-gen.go b/replicapool/v1beta2/replicapool-gen.go
index deca677..dce418b 100644
--- a/replicapool/v1beta2/replicapool-gen.go
+++ b/replicapool/v1beta2/replicapool-gen.go
@@ -639,7 +639,7 @@
 	zone                                         string
 	instanceGroupManager                         string
 	instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest
-	urlParams_                                   internal.URLParams
+	opt_                                         map[string]interface{}
 	ctx_                                         context.Context
 }
 
@@ -647,7 +647,7 @@
 // instance group, and from any target pools of which they were members,
 // without deleting the instances.
 func (r *InstanceGroupManagersService) AbandonInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest) *InstanceGroupManagersAbandonInstancesCall {
-	c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -655,17 +655,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersAbandonInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *InstanceGroupManagersAbandonInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -678,9 +678,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -784,7 +788,7 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
@@ -793,24 +797,24 @@
 // deleting the instances, you must first abandon the instances to
 // remove them from the group.
 func (r *InstanceGroupManagersService) Delete(project string, zone string, instanceGroupManager string) *InstanceGroupManagersDeleteCall {
-	c := &InstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersDeleteCall) Context(ctx context.Context) *InstanceGroupManagersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -818,9 +822,13 @@
 
 func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -921,7 +929,7 @@
 	zone                                        string
 	instanceGroupManager                        string
 	instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest
-	urlParams_                                  internal.URLParams
+	opt_                                        map[string]interface{}
 	ctx_                                        context.Context
 }
 
@@ -930,7 +938,7 @@
 // which they were a member. The targetSize of the instance group
 // manager is reduced by the number of instances deleted.
 func (r *InstanceGroupManagersService) DeleteInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest) *InstanceGroupManagersDeleteInstancesCall {
-	c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -938,17 +946,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *InstanceGroupManagersDeleteInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -961,9 +969,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -1067,25 +1079,24 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
-	ifNoneMatch_         string
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Get: Returns the specified Instance Group Manager resource.
 func (r *InstanceGroupManagersService) Get(project string, zone string, instanceGroupManager string) *InstanceGroupManagersGetCall {
-	c := &InstanceGroupManagersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *InstanceGroupManagersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1095,13 +1106,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *InstanceGroupManagersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersGetCall) Context(ctx context.Context) *InstanceGroupManagersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1109,9 +1120,13 @@
 
 func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -1119,8 +1134,8 @@
 		"instanceGroupManager": c.instanceGroupManager,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1215,33 +1230,34 @@
 	s                    *Service
 	project              string
 	zone                 string
+	size                 int64
 	instancegroupmanager *InstanceGroupManager
-	urlParams_           internal.URLParams
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
 // Insert: Creates an instance group manager, as well as the instance
 // group and the specified number of instances.
 func (r *InstanceGroupManagersService) Insert(project string, zone string, size int64, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersInsertCall {
-	c := &InstanceGroupManagersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
-	c.urlParams_.Set("size", fmt.Sprintf("%v", size))
+	c.size = size
 	c.instancegroupmanager = instancegroupmanager
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *InstanceGroupManagersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersInsertCall) Context(ctx context.Context) *InstanceGroupManagersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1254,9 +1270,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("size", fmt.Sprintf("%v", c.size))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1356,18 +1377,17 @@
 // method id "replicapool.instanceGroupManagers.list":
 
 type InstanceGroupManagersListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Instance Group Manager resources
 // contained within the specified zone.
 func (r *InstanceGroupManagersService) List(project string, zone string) *InstanceGroupManagersListCall {
-	c := &InstanceGroupManagersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -1376,7 +1396,7 @@
 // Filter sets the optional parameter "filter": Filter expression for
 // filtering listed resources.
 func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -1384,7 +1404,7 @@
 // results to be returned. Maximum value is 500 and default value is
 // 500.
 func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1392,15 +1412,15 @@
 // previous list request truncated by maxResults. Used to continue a
 // previous list request.
 func (c *InstanceGroupManagersListCall) PageToken(pageToken string) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersListCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1410,13 +1430,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstanceGroupManagersListCall) IfNoneMatch(entityTag string) *InstanceGroupManagersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersListCall) Context(ctx context.Context) *InstanceGroupManagersListCall {
 	c.ctx_ = ctx
 	return c
@@ -1424,17 +1444,30 @@
 
 func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1542,7 +1575,7 @@
 	zone                                          string
 	instanceGroupManager                          string
 	instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest
-	urlParams_                                    internal.URLParams
+	opt_                                          map[string]interface{}
 	ctx_                                          context.Context
 }
 
@@ -1550,7 +1583,7 @@
 // are deleted, then recreated using the instance group manager's
 // current instance template.
 func (r *InstanceGroupManagersService) RecreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest) *InstanceGroupManagersRecreateInstancesCall {
-	c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -1558,17 +1591,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersRecreateInstancesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *InstanceGroupManagersRecreateInstancesCall {
 	c.ctx_ = ctx
 	return c
@@ -1581,9 +1614,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -1687,7 +1724,8 @@
 	project              string
 	zone                 string
 	instanceGroupManager string
-	urlParams_           internal.URLParams
+	size                 int64
+	opt_                 map[string]interface{}
 	ctx_                 context.Context
 }
 
@@ -1696,25 +1734,25 @@
 // resized down, instances are removed in the order outlined in Resizing
 // a managed instance group.
 func (r *InstanceGroupManagersService) Resize(project string, zone string, instanceGroupManager string, size int64) *InstanceGroupManagersResizeCall {
-	c := &InstanceGroupManagersResizeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersResizeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
-	c.urlParams_.Set("size", fmt.Sprintf("%v", size))
+	c.size = size
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *InstanceGroupManagersResizeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersResizeCall) Context(ctx context.Context) *InstanceGroupManagersResizeCall {
 	c.ctx_ = ctx
 	return c
@@ -1722,9 +1760,14 @@
 
 func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("size", fmt.Sprintf("%v", c.size))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -1834,14 +1877,14 @@
 	zone                                            string
 	instanceGroupManager                            string
 	instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest
-	urlParams_                                      internal.URLParams
+	opt_                                            map[string]interface{}
 	ctx_                                            context.Context
 }
 
 // SetInstanceTemplate: Sets the instance template to use when creating
 // new instances in this group. Existing instances are not affected.
 func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone string, instanceGroupManager string, instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest) *InstanceGroupManagersSetInstanceTemplateCall {
-	c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetInstanceTemplateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -1849,17 +1892,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetInstanceTemplateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *InstanceGroupManagersSetInstanceTemplateCall {
 	c.ctx_ = ctx
 	return c
@@ -1872,9 +1915,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -1979,7 +2026,7 @@
 	zone                                       string
 	instanceGroupManager                       string
 	instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
@@ -1987,7 +2034,7 @@
 // in this group are assigned. Existing instances in the group are not
 // affected.
 func (r *InstanceGroupManagersService) SetTargetPools(project string, zone string, instanceGroupManager string, instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest) *InstanceGroupManagersSetTargetPoolsCall {
-	c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstanceGroupManagersSetTargetPoolsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.instanceGroupManager = instanceGroupManager
@@ -1995,17 +2042,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *InstanceGroupManagersSetTargetPoolsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *InstanceGroupManagersSetTargetPoolsCall {
 	c.ctx_ = ctx
 	return c
@@ -2018,9 +2065,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":              c.project,
@@ -2120,29 +2171,28 @@
 // method id "replicapool.zoneOperations.get":
 
 type ZoneOperationsGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified zone-specific operation resource.
 func (r *ZoneOperationsService) Get(project string, zone string, operation string) *ZoneOperationsGetCall {
-	c := &ZoneOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsGetCall) Fields(s ...googleapi.Field) *ZoneOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2152,13 +2202,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsGetCall) IfNoneMatch(entityTag string) *ZoneOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2166,9 +2216,13 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -2176,8 +2230,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2267,18 +2321,17 @@
 // method id "replicapool.zoneOperations.list":
 
 type ZoneOperationsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified zone.
 func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperationsListCall {
-	c := &ZoneOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -2287,7 +2340,7 @@
 // Filter sets the optional parameter "filter": Filter expression for
 // filtering listed resources.
 func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -2295,7 +2348,7 @@
 // results to be returned. Maximum value is 500 and default value is
 // 500.
 func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2303,15 +2356,15 @@
 // previous list request truncated by maxResults. Used to continue a
 // previous list request.
 func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsListCall) Fields(s ...googleapi.Field) *ZoneOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2321,13 +2374,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsListCall) IfNoneMatch(entityTag string) *ZoneOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2335,17 +2388,30 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/replicapoolupdater/v1beta1/replicapoolupdater-gen.go b/replicapoolupdater/v1beta1/replicapoolupdater-gen.go
index 4b0266a..920ae11 100644
--- a/replicapoolupdater/v1beta1/replicapoolupdater-gen.go
+++ b/replicapoolupdater/v1beta1/replicapoolupdater-gen.go
@@ -679,7 +679,7 @@
 	project       string
 	zone          string
 	rollingUpdate string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -687,24 +687,24 @@
 // cancelled. This has no effect if the update is already CANCELLED.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#cancelrollingupdate
 func (r *RollingUpdatesService) Cancel(project string, zone string, rollingUpdate string) *RollingUpdatesCancelCall {
-	c := &RollingUpdatesCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingUpdate = rollingUpdate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesCancelCall) Fields(s ...googleapi.Field) *RollingUpdatesCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesCancelCall) Context(ctx context.Context) *RollingUpdatesCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -712,9 +712,13 @@
 
 func (c *RollingUpdatesCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -812,26 +816,25 @@
 	project       string
 	zone          string
 	rollingUpdate string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Get: Returns information about an update.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#getlistrollingupdate
 func (r *RollingUpdatesService) Get(project string, zone string, rollingUpdate string) *RollingUpdatesGetCall {
-	c := &RollingUpdatesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingUpdate = rollingUpdate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesGetCall) Fields(s ...googleapi.Field) *RollingUpdatesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -841,13 +844,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RollingUpdatesGetCall) IfNoneMatch(entityTag string) *RollingUpdatesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesGetCall) Context(ctx context.Context) *RollingUpdatesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -855,9 +858,13 @@
 
 func (c *RollingUpdatesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates/{rollingUpdate}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -865,8 +872,8 @@
 		"rollingUpdate": c.rollingUpdate,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -960,31 +967,31 @@
 	project       string
 	zone          string
 	rollingupdate *RollingUpdate
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Inserts and starts a new update.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#starting_an_update
 func (r *RollingUpdatesService) Insert(project string, zone string, rollingupdate *RollingUpdate) *RollingUpdatesInsertCall {
-	c := &RollingUpdatesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingupdate = rollingupdate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesInsertCall) Fields(s ...googleapi.Field) *RollingUpdatesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesInsertCall) Context(ctx context.Context) *RollingUpdatesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -997,9 +1004,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1089,19 +1100,18 @@
 // method id "replicapoolupdater.rollingUpdates.list":
 
 type RollingUpdatesListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists recent updates for a given managed instance group, in
 // reverse chronological order and paginated format.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#getlistrollingupdate
 func (r *RollingUpdatesService) List(project string, zone string) *RollingUpdatesListCall {
-	c := &RollingUpdatesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -1110,7 +1120,7 @@
 // Filter sets the optional parameter "filter": Filter expression for
 // filtering listed resources.
 func (c *RollingUpdatesListCall) Filter(filter string) *RollingUpdatesListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -1118,7 +1128,7 @@
 // results to be returned. Maximum value is 500 and default value is
 // 500.
 func (c *RollingUpdatesListCall) MaxResults(maxResults int64) *RollingUpdatesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1126,15 +1136,15 @@
 // previous list request truncated by maxResults. Used to continue a
 // previous list request.
 func (c *RollingUpdatesListCall) PageToken(pageToken string) *RollingUpdatesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesListCall) Fields(s ...googleapi.Field) *RollingUpdatesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1144,13 +1154,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RollingUpdatesListCall) IfNoneMatch(entityTag string) *RollingUpdatesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesListCall) Context(ctx context.Context) *RollingUpdatesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1158,17 +1168,30 @@
 
 func (c *RollingUpdatesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1274,8 +1297,7 @@
 	project       string
 	zone          string
 	rollingUpdate string
-	urlParams_    internal.URLParams
-	ifNoneMatch_  string
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1283,7 +1305,7 @@
 // within a given update.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#getlistrollingupdate
 func (r *RollingUpdatesService) ListInstanceUpdates(project string, zone string, rollingUpdate string) *RollingUpdatesListInstanceUpdatesCall {
-	c := &RollingUpdatesListInstanceUpdatesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesListInstanceUpdatesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingUpdate = rollingUpdate
@@ -1293,7 +1315,7 @@
 // Filter sets the optional parameter "filter": Filter expression for
 // filtering listed resources.
 func (c *RollingUpdatesListInstanceUpdatesCall) Filter(filter string) *RollingUpdatesListInstanceUpdatesCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -1301,7 +1323,7 @@
 // results to be returned. Maximum value is 500 and default value is
 // 500.
 func (c *RollingUpdatesListInstanceUpdatesCall) MaxResults(maxResults int64) *RollingUpdatesListInstanceUpdatesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1309,15 +1331,15 @@
 // previous list request truncated by maxResults. Used to continue a
 // previous list request.
 func (c *RollingUpdatesListInstanceUpdatesCall) PageToken(pageToken string) *RollingUpdatesListInstanceUpdatesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesListInstanceUpdatesCall) Fields(s ...googleapi.Field) *RollingUpdatesListInstanceUpdatesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1327,13 +1349,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RollingUpdatesListInstanceUpdatesCall) IfNoneMatch(entityTag string) *RollingUpdatesListInstanceUpdatesCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesListInstanceUpdatesCall) Context(ctx context.Context) *RollingUpdatesListInstanceUpdatesCall {
 	c.ctx_ = ctx
 	return c
@@ -1341,9 +1363,22 @@
 
 func (c *RollingUpdatesListInstanceUpdatesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/instanceUpdates")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -1351,8 +1386,8 @@
 		"rollingUpdate": c.rollingUpdate,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1465,7 +1500,7 @@
 	project       string
 	zone          string
 	rollingUpdate string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1474,24 +1509,24 @@
 // is PAUSED.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#pausing_a_rolling_update
 func (r *RollingUpdatesService) Pause(project string, zone string, rollingUpdate string) *RollingUpdatesPauseCall {
-	c := &RollingUpdatesPauseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesPauseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingUpdate = rollingUpdate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesPauseCall) Fields(s ...googleapi.Field) *RollingUpdatesPauseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesPauseCall) Context(ctx context.Context) *RollingUpdatesPauseCall {
 	c.ctx_ = ctx
 	return c
@@ -1499,9 +1534,13 @@
 
 func (c *RollingUpdatesPauseCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/pause")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -1599,7 +1638,7 @@
 	project       string
 	zone          string
 	rollingUpdate string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1607,24 +1646,24 @@
 // when the state of the update is ROLLED_OUT.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#continuerollingupdate
 func (r *RollingUpdatesService) Resume(project string, zone string, rollingUpdate string) *RollingUpdatesResumeCall {
-	c := &RollingUpdatesResumeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesResumeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingUpdate = rollingUpdate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesResumeCall) Fields(s ...googleapi.Field) *RollingUpdatesResumeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesResumeCall) Context(ctx context.Context) *RollingUpdatesResumeCall {
 	c.ctx_ = ctx
 	return c
@@ -1632,9 +1671,13 @@
 
 func (c *RollingUpdatesResumeCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/resume")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -1732,7 +1775,7 @@
 	project       string
 	zone          string
 	rollingUpdate string
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -1741,24 +1784,24 @@
 // ROLLED_BACK.
 // For details, see https://cloud.google.com/compute/docs/instance-groups/manager/#rollingbackupdate
 func (r *RollingUpdatesService) Rollback(project string, zone string, rollingUpdate string) *RollingUpdatesRollbackCall {
-	c := &RollingUpdatesRollbackCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RollingUpdatesRollbackCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.rollingUpdate = rollingUpdate
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RollingUpdatesRollbackCall) Fields(s ...googleapi.Field) *RollingUpdatesRollbackCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RollingUpdatesRollbackCall) Context(ctx context.Context) *RollingUpdatesRollbackCall {
 	c.ctx_ = ctx
 	return c
@@ -1766,9 +1809,13 @@
 
 func (c *RollingUpdatesRollbackCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/rollback")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":       c.project,
@@ -1862,29 +1909,28 @@
 // method id "replicapoolupdater.zoneOperations.get":
 
 type ZoneOperationsGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified zone-specific operation resource.
 func (r *ZoneOperationsService) Get(project string, zone string, operation string) *ZoneOperationsGetCall {
-	c := &ZoneOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsGetCall) Fields(s ...googleapi.Field) *ZoneOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1894,13 +1940,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsGetCall) IfNoneMatch(entityTag string) *ZoneOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1908,9 +1954,13 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1918,8 +1968,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2007,18 +2057,17 @@
 // method id "replicapoolupdater.zoneOperations.list":
 
 type ZoneOperationsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of Operation resources contained within the
 // specified zone.
 func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperationsListCall {
-	c := &ZoneOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -2027,7 +2076,7 @@
 // Filter sets the optional parameter "filter": Filter expression for
 // filtering listed resources.
 func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -2035,7 +2084,7 @@
 // results to be returned. Maximum value is 500 and default value is
 // 500.
 func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2043,15 +2092,15 @@
 // previous list request truncated by maxResults. Used to continue a
 // previous list request.
 func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsListCall) Fields(s ...googleapi.Field) *ZoneOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2061,13 +2110,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsListCall) IfNoneMatch(entityTag string) *ZoneOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2075,17 +2124,30 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/reseller/v1/reseller-gen.go b/reseller/v1/reseller-gen.go
index 63f4e8c..4cc9d81 100644
--- a/reseller/v1/reseller-gen.go
+++ b/reseller/v1/reseller-gen.go
@@ -478,26 +478,25 @@
 // method id "reseller.customers.get":
 
 type CustomersGetCall struct {
-	s            *Service
-	customerId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets a customer resource if one exists and is owned by the
 // reseller.
 func (r *CustomersService) Get(customerId string) *CustomersGetCall {
-	c := &CustomersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersGetCall) Fields(s ...googleapi.Field) *CustomersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -507,13 +506,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomersGetCall) IfNoneMatch(entityTag string) *CustomersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersGetCall) Context(ctx context.Context) *CustomersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -521,16 +520,20 @@
 
 func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -603,15 +606,15 @@
 // method id "reseller.customers.insert":
 
 type CustomersInsertCall struct {
-	s          *Service
-	customer   *Customer
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	customer *Customer
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a customer resource if one does not already exist.
 func (r *CustomersService) Insert(customer *Customer) *CustomersInsertCall {
-	c := &CustomersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	return c
 }
@@ -621,21 +624,21 @@
 // exists. Can be generated at
 // https://www.google.com/a/cpanel//TransferToken.
 func (c *CustomersInsertCall) CustomerAuthToken(customerAuthToken string) *CustomersInsertCall {
-	c.urlParams_.Set("customerAuthToken", customerAuthToken)
+	c.opt_["customerAuthToken"] = customerAuthToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersInsertCall) Fields(s ...googleapi.Field) *CustomersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersInsertCall) Context(ctx context.Context) *CustomersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -648,9 +651,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerAuthToken"]; ok {
+		params.Set("customerAuthToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -727,30 +737,30 @@
 	s          *Service
 	customerId string
 	customer   *Customer
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Update a customer resource if one it exists and is owned by
 // the reseller. This method supports patch semantics.
 func (r *CustomersService) Patch(customerId string, customer *Customer) *CustomersPatchCall {
-	c := &CustomersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.customer = customer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersPatchCall) Fields(s ...googleapi.Field) *CustomersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersPatchCall) Context(ctx context.Context) *CustomersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -763,9 +773,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -848,30 +862,30 @@
 	s          *Service
 	customerId string
 	customer   *Customer
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Update a customer resource if one it exists and is owned by
 // the reseller.
 func (r *CustomersService) Update(customerId string, customer *Customer) *CustomersUpdateCall {
-	c := &CustomersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.customer = customer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersUpdateCall) Fields(s ...googleapi.Field) *CustomersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersUpdateCall) Context(ctx context.Context) *CustomersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -884,9 +898,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -969,30 +987,30 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Activate: Activates a subscription previously suspended by the
 // reseller
 func (r *SubscriptionsService) Activate(customerId string, subscriptionId string) *SubscriptionsActivateCall {
-	c := &SubscriptionsActivateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsActivateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsActivateCall) Fields(s ...googleapi.Field) *SubscriptionsActivateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsActivateCall) Context(ctx context.Context) *SubscriptionsActivateCall {
 	c.ctx_ = ctx
 	return c
@@ -1000,9 +1018,13 @@
 
 func (c *SubscriptionsActivateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/activate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1090,30 +1112,30 @@
 	customerId        string
 	subscriptionId    string
 	changeplanrequest *ChangePlanRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // ChangePlan: Changes the plan of a subscription
 func (r *SubscriptionsService) ChangePlan(customerId string, subscriptionId string, changeplanrequest *ChangePlanRequest) *SubscriptionsChangePlanCall {
-	c := &SubscriptionsChangePlanCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsChangePlanCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	c.changeplanrequest = changeplanrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsChangePlanCall) Fields(s ...googleapi.Field) *SubscriptionsChangePlanCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsChangePlanCall) Context(ctx context.Context) *SubscriptionsChangePlanCall {
 	c.ctx_ = ctx
 	return c
@@ -1126,9 +1148,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/changePlan")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1220,30 +1246,30 @@
 	customerId      string
 	subscriptionId  string
 	renewalsettings *RenewalSettings
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // ChangeRenewalSettings: Changes the renewal settings of a subscription
 func (r *SubscriptionsService) ChangeRenewalSettings(customerId string, subscriptionId string, renewalsettings *RenewalSettings) *SubscriptionsChangeRenewalSettingsCall {
-	c := &SubscriptionsChangeRenewalSettingsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsChangeRenewalSettingsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	c.renewalsettings = renewalsettings
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsChangeRenewalSettingsCall) Fields(s ...googleapi.Field) *SubscriptionsChangeRenewalSettingsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsChangeRenewalSettingsCall) Context(ctx context.Context) *SubscriptionsChangeRenewalSettingsCall {
 	c.ctx_ = ctx
 	return c
@@ -1256,9 +1282,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1350,30 +1380,30 @@
 	customerId     string
 	subscriptionId string
 	seats          *Seats
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // ChangeSeats: Changes the seats configuration of a subscription
 func (r *SubscriptionsService) ChangeSeats(customerId string, subscriptionId string, seats *Seats) *SubscriptionsChangeSeatsCall {
-	c := &SubscriptionsChangeSeatsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsChangeSeatsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	c.seats = seats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsChangeSeatsCall) Fields(s ...googleapi.Field) *SubscriptionsChangeSeatsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsChangeSeatsCall) Context(ctx context.Context) *SubscriptionsChangeSeatsCall {
 	c.ctx_ = ctx
 	return c
@@ -1386,9 +1416,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/changeSeats")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1479,30 +1513,31 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	deletionType   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Cancels/Downgrades a subscription.
 func (r *SubscriptionsService) Delete(customerId string, subscriptionId string, deletionType string) *SubscriptionsDeleteCall {
-	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
-	c.urlParams_.Set("deletionType", deletionType)
+	c.deletionType = deletionType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1510,9 +1545,14 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("deletionType", fmt.Sprintf("%v", c.deletionType))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1591,24 +1631,23 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Gets a subscription of the customer.
 func (r *SubscriptionsService) Get(customerId string, subscriptionId string) *SubscriptionsGetCall {
-	c := &SubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsGetCall) Fields(s ...googleapi.Field) *SubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1618,13 +1657,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsGetCall) IfNoneMatch(entityTag string) *SubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsGetCall) Context(ctx context.Context) *SubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1632,17 +1671,21 @@
 
 func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
 		"subscriptionId": c.subscriptionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1725,13 +1768,13 @@
 	s            *Service
 	customerId   string
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Creates/Transfers a subscription for the customer.
 func (r *SubscriptionsService) Insert(customerId string, subscription *Subscription) *SubscriptionsInsertCall {
-	c := &SubscriptionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscription = subscription
 	return c
@@ -1741,21 +1784,21 @@
 // auth token needed for transferring a subscription. Can be generated
 // at https://www.google.com/a/cpanel/customer-domain/TransferToken.
 func (c *SubscriptionsInsertCall) CustomerAuthToken(customerAuthToken string) *SubscriptionsInsertCall {
-	c.urlParams_.Set("customerAuthToken", customerAuthToken)
+	c.opt_["customerAuthToken"] = customerAuthToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsInsertCall) Fields(s ...googleapi.Field) *SubscriptionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsInsertCall) Context(ctx context.Context) *SubscriptionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1768,9 +1811,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerAuthToken"]; ok {
+		params.Set("customerAuthToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -1855,16 +1905,15 @@
 // method id "reseller.subscriptions.list":
 
 type SubscriptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists subscriptions of a reseller, optionally filtered by a
 // customer name prefix.
 func (r *SubscriptionsService) List() *SubscriptionsListCall {
-	c := &SubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1873,14 +1922,14 @@
 // reseller. Can be generated at
 // https://www.google.com/a/cpanel/customer-domain/TransferToken.
 func (c *SubscriptionsListCall) CustomerAuthToken(customerAuthToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("customerAuthToken", customerAuthToken)
+	c.opt_["customerAuthToken"] = customerAuthToken
 	return c
 }
 
 // CustomerId sets the optional parameter "customerId": Id of the
 // Customer
 func (c *SubscriptionsListCall) CustomerId(customerId string) *SubscriptionsListCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
@@ -1888,29 +1937,29 @@
 // Prefix of the customer's domain name by which the subscriptions
 // should be filtered. Optional
 func (c *SubscriptionsListCall) CustomerNamePrefix(customerNamePrefix string) *SubscriptionsListCall {
-	c.urlParams_.Set("customerNamePrefix", customerNamePrefix)
+	c.opt_["customerNamePrefix"] = customerNamePrefix
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *SubscriptionsListCall) MaxResults(maxResults int64) *SubscriptionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1920,13 +1969,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1934,14 +1983,33 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerAuthToken"]; ok {
+		params.Set("customerAuthToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerNamePrefix"]; ok {
+		params.Set("customerNamePrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2036,29 +2104,29 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // StartPaidService: Starts paid service of a trial subscription
 func (r *SubscriptionsService) StartPaidService(customerId string, subscriptionId string) *SubscriptionsStartPaidServiceCall {
-	c := &SubscriptionsStartPaidServiceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsStartPaidServiceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsStartPaidServiceCall) Fields(s ...googleapi.Field) *SubscriptionsStartPaidServiceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsStartPaidServiceCall) Context(ctx context.Context) *SubscriptionsStartPaidServiceCall {
 	c.ctx_ = ctx
 	return c
@@ -2066,9 +2134,13 @@
 
 func (c *SubscriptionsStartPaidServiceCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/startPaidService")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -2155,29 +2227,29 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Suspend: Suspends an active subscription
 func (r *SubscriptionsService) Suspend(customerId string, subscriptionId string) *SubscriptionsSuspendCall {
-	c := &SubscriptionsSuspendCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsSuspendCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsSuspendCall) Fields(s ...googleapi.Field) *SubscriptionsSuspendCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsSuspendCall) Context(ctx context.Context) *SubscriptionsSuspendCall {
 	c.ctx_ = ctx
 	return c
@@ -2185,9 +2257,13 @@
 
 func (c *SubscriptionsSuspendCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/suspend")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
diff --git a/reseller/v1sandbox/reseller-gen.go b/reseller/v1sandbox/reseller-gen.go
index 86b42f7..c2e9f3c 100644
--- a/reseller/v1sandbox/reseller-gen.go
+++ b/reseller/v1sandbox/reseller-gen.go
@@ -478,26 +478,25 @@
 // method id "reseller.customers.get":
 
 type CustomersGetCall struct {
-	s            *Service
-	customerId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	customerId string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Gets a customer resource if one exists and is owned by the
 // reseller.
 func (r *CustomersService) Get(customerId string) *CustomersGetCall {
-	c := &CustomersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersGetCall) Fields(s ...googleapi.Field) *CustomersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -507,13 +506,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CustomersGetCall) IfNoneMatch(entityTag string) *CustomersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersGetCall) Context(ctx context.Context) *CustomersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -521,16 +520,20 @@
 
 func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -603,15 +606,15 @@
 // method id "reseller.customers.insert":
 
 type CustomersInsertCall struct {
-	s          *Service
-	customer   *Customer
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	customer *Customer
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a customer resource if one does not already exist.
 func (r *CustomersService) Insert(customer *Customer) *CustomersInsertCall {
-	c := &CustomersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customer = customer
 	return c
 }
@@ -621,21 +624,21 @@
 // exists. Can be generated at
 // https://www.google.com/a/cpanel//TransferToken.
 func (c *CustomersInsertCall) CustomerAuthToken(customerAuthToken string) *CustomersInsertCall {
-	c.urlParams_.Set("customerAuthToken", customerAuthToken)
+	c.opt_["customerAuthToken"] = customerAuthToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersInsertCall) Fields(s ...googleapi.Field) *CustomersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersInsertCall) Context(ctx context.Context) *CustomersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -648,9 +651,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerAuthToken"]; ok {
+		params.Set("customerAuthToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -727,30 +737,30 @@
 	s          *Service
 	customerId string
 	customer   *Customer
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Update a customer resource if one it exists and is owned by
 // the reseller. This method supports patch semantics.
 func (r *CustomersService) Patch(customerId string, customer *Customer) *CustomersPatchCall {
-	c := &CustomersPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.customer = customer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersPatchCall) Fields(s ...googleapi.Field) *CustomersPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersPatchCall) Context(ctx context.Context) *CustomersPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -763,9 +773,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -848,30 +862,30 @@
 	s          *Service
 	customerId string
 	customer   *Customer
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Update a customer resource if one it exists and is owned by
 // the reseller.
 func (r *CustomersService) Update(customerId string, customer *Customer) *CustomersUpdateCall {
-	c := &CustomersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CustomersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.customer = customer
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CustomersUpdateCall) Fields(s ...googleapi.Field) *CustomersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CustomersUpdateCall) Context(ctx context.Context) *CustomersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -884,9 +898,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -969,30 +987,30 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Activate: Activates a subscription previously suspended by the
 // reseller
 func (r *SubscriptionsService) Activate(customerId string, subscriptionId string) *SubscriptionsActivateCall {
-	c := &SubscriptionsActivateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsActivateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsActivateCall) Fields(s ...googleapi.Field) *SubscriptionsActivateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsActivateCall) Context(ctx context.Context) *SubscriptionsActivateCall {
 	c.ctx_ = ctx
 	return c
@@ -1000,9 +1018,13 @@
 
 func (c *SubscriptionsActivateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/activate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1090,30 +1112,30 @@
 	customerId        string
 	subscriptionId    string
 	changeplanrequest *ChangePlanRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // ChangePlan: Changes the plan of a subscription
 func (r *SubscriptionsService) ChangePlan(customerId string, subscriptionId string, changeplanrequest *ChangePlanRequest) *SubscriptionsChangePlanCall {
-	c := &SubscriptionsChangePlanCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsChangePlanCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	c.changeplanrequest = changeplanrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsChangePlanCall) Fields(s ...googleapi.Field) *SubscriptionsChangePlanCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsChangePlanCall) Context(ctx context.Context) *SubscriptionsChangePlanCall {
 	c.ctx_ = ctx
 	return c
@@ -1126,9 +1148,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/changePlan")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1220,30 +1246,30 @@
 	customerId      string
 	subscriptionId  string
 	renewalsettings *RenewalSettings
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // ChangeRenewalSettings: Changes the renewal settings of a subscription
 func (r *SubscriptionsService) ChangeRenewalSettings(customerId string, subscriptionId string, renewalsettings *RenewalSettings) *SubscriptionsChangeRenewalSettingsCall {
-	c := &SubscriptionsChangeRenewalSettingsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsChangeRenewalSettingsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	c.renewalsettings = renewalsettings
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsChangeRenewalSettingsCall) Fields(s ...googleapi.Field) *SubscriptionsChangeRenewalSettingsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsChangeRenewalSettingsCall) Context(ctx context.Context) *SubscriptionsChangeRenewalSettingsCall {
 	c.ctx_ = ctx
 	return c
@@ -1256,9 +1282,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1350,30 +1380,30 @@
 	customerId     string
 	subscriptionId string
 	seats          *Seats
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // ChangeSeats: Changes the seats configuration of a subscription
 func (r *SubscriptionsService) ChangeSeats(customerId string, subscriptionId string, seats *Seats) *SubscriptionsChangeSeatsCall {
-	c := &SubscriptionsChangeSeatsCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsChangeSeatsCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	c.seats = seats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsChangeSeatsCall) Fields(s ...googleapi.Field) *SubscriptionsChangeSeatsCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsChangeSeatsCall) Context(ctx context.Context) *SubscriptionsChangeSeatsCall {
 	c.ctx_ = ctx
 	return c
@@ -1386,9 +1416,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/changeSeats")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1479,30 +1513,31 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	deletionType   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Delete: Cancels/Downgrades a subscription.
 func (r *SubscriptionsService) Delete(customerId string, subscriptionId string, deletionType string) *SubscriptionsDeleteCall {
-	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
-	c.urlParams_.Set("deletionType", deletionType)
+	c.deletionType = deletionType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1510,9 +1545,14 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("deletionType", fmt.Sprintf("%v", c.deletionType))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -1591,24 +1631,23 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
-	ifNoneMatch_   string
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Get: Gets a subscription of the customer.
 func (r *SubscriptionsService) Get(customerId string, subscriptionId string) *SubscriptionsGetCall {
-	c := &SubscriptionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsGetCall) Fields(s ...googleapi.Field) *SubscriptionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1618,13 +1657,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsGetCall) IfNoneMatch(entityTag string) *SubscriptionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsGetCall) Context(ctx context.Context) *SubscriptionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1632,17 +1671,21 @@
 
 func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
 		"subscriptionId": c.subscriptionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1725,13 +1768,13 @@
 	s            *Service
 	customerId   string
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Creates/Transfers a subscription for the customer.
 func (r *SubscriptionsService) Insert(customerId string, subscription *Subscription) *SubscriptionsInsertCall {
-	c := &SubscriptionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscription = subscription
 	return c
@@ -1741,21 +1784,21 @@
 // auth token needed for transferring a subscription. Can be generated
 // at https://www.google.com/a/cpanel/customer-domain/TransferToken.
 func (c *SubscriptionsInsertCall) CustomerAuthToken(customerAuthToken string) *SubscriptionsInsertCall {
-	c.urlParams_.Set("customerAuthToken", customerAuthToken)
+	c.opt_["customerAuthToken"] = customerAuthToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsInsertCall) Fields(s ...googleapi.Field) *SubscriptionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsInsertCall) Context(ctx context.Context) *SubscriptionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1768,9 +1811,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerAuthToken"]; ok {
+		params.Set("customerAuthToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId": c.customerId,
@@ -1855,16 +1905,15 @@
 // method id "reseller.subscriptions.list":
 
 type SubscriptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists subscriptions of a reseller, optionally filtered by a
 // customer name prefix.
 func (r *SubscriptionsService) List() *SubscriptionsListCall {
-	c := &SubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1873,14 +1922,14 @@
 // reseller. Can be generated at
 // https://www.google.com/a/cpanel/customer-domain/TransferToken.
 func (c *SubscriptionsListCall) CustomerAuthToken(customerAuthToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("customerAuthToken", customerAuthToken)
+	c.opt_["customerAuthToken"] = customerAuthToken
 	return c
 }
 
 // CustomerId sets the optional parameter "customerId": Id of the
 // Customer
 func (c *SubscriptionsListCall) CustomerId(customerId string) *SubscriptionsListCall {
-	c.urlParams_.Set("customerId", customerId)
+	c.opt_["customerId"] = customerId
 	return c
 }
 
@@ -1888,29 +1937,29 @@
 // Prefix of the customer's domain name by which the subscriptions
 // should be filtered. Optional
 func (c *SubscriptionsListCall) CustomerNamePrefix(customerNamePrefix string) *SubscriptionsListCall {
-	c.urlParams_.Set("customerNamePrefix", customerNamePrefix)
+	c.opt_["customerNamePrefix"] = customerNamePrefix
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of results to return
 func (c *SubscriptionsListCall) MaxResults(maxResults int64) *SubscriptionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token to specify
 // next page in the list
 func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1920,13 +1969,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1934,14 +1983,33 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["customerAuthToken"]; ok {
+		params.Set("customerAuthToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerId"]; ok {
+		params.Set("customerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["customerNamePrefix"]; ok {
+		params.Set("customerNamePrefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2036,29 +2104,29 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // StartPaidService: Starts paid service of a trial subscription
 func (r *SubscriptionsService) StartPaidService(customerId string, subscriptionId string) *SubscriptionsStartPaidServiceCall {
-	c := &SubscriptionsStartPaidServiceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsStartPaidServiceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsStartPaidServiceCall) Fields(s ...googleapi.Field) *SubscriptionsStartPaidServiceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsStartPaidServiceCall) Context(ctx context.Context) *SubscriptionsStartPaidServiceCall {
 	c.ctx_ = ctx
 	return c
@@ -2066,9 +2134,13 @@
 
 func (c *SubscriptionsStartPaidServiceCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/startPaidService")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
@@ -2155,29 +2227,29 @@
 	s              *Service
 	customerId     string
 	subscriptionId string
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Suspend: Suspends an active subscription
 func (r *SubscriptionsService) Suspend(customerId string, subscriptionId string) *SubscriptionsSuspendCall {
-	c := &SubscriptionsSuspendCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SubscriptionsSuspendCall{s: r.s, opt_: make(map[string]interface{})}
 	c.customerId = customerId
 	c.subscriptionId = subscriptionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsSuspendCall) Fields(s ...googleapi.Field) *SubscriptionsSuspendCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsSuspendCall) Context(ctx context.Context) *SubscriptionsSuspendCall {
 	c.ctx_ = ctx
 	return c
@@ -2185,9 +2257,13 @@
 
 func (c *SubscriptionsSuspendCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "customers/{customerId}/subscriptions/{subscriptionId}/suspend")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"customerId":     c.customerId,
diff --git a/resourceviews/v1beta1/resourceviews-gen.go b/resourceviews/v1beta1/resourceviews-gen.go
index a5a847d..ca7a219 100644
--- a/resourceviews/v1beta1/resourceviews-gen.go
+++ b/resourceviews/v1beta1/resourceviews-gen.go
@@ -438,13 +438,13 @@
 	region                         string
 	resourceViewName               string
 	regionviewsaddresourcesrequest *RegionViewsAddResourcesRequest
-	urlParams_                     internal.URLParams
+	opt_                           map[string]interface{}
 	ctx_                           context.Context
 }
 
 // Addresources: Add resources to the view.
 func (r *RegionViewsService) Addresources(projectName string, region string, resourceViewName string, regionviewsaddresourcesrequest *RegionViewsAddResourcesRequest) *RegionViewsAddresourcesCall {
-	c := &RegionViewsAddresourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsAddresourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	c.resourceViewName = resourceViewName
@@ -452,17 +452,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsAddresourcesCall) Fields(s ...googleapi.Field) *RegionViewsAddresourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsAddresourcesCall) Context(ctx context.Context) *RegionViewsAddresourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -475,9 +475,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews/{resourceViewName}/addResources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -552,30 +556,30 @@
 	projectName      string
 	region           string
 	resourceViewName string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Delete a resource view.
 func (r *RegionViewsService) Delete(projectName string, region string, resourceViewName string) *RegionViewsDeleteCall {
-	c := &RegionViewsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	c.resourceViewName = resourceViewName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsDeleteCall) Fields(s ...googleapi.Field) *RegionViewsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsDeleteCall) Context(ctx context.Context) *RegionViewsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -583,9 +587,13 @@
 
 func (c *RegionViewsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews/{resourceViewName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -656,25 +664,24 @@
 	projectName      string
 	region           string
 	resourceViewName string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Get the information of a resource view.
 func (r *RegionViewsService) Get(projectName string, region string, resourceViewName string) *RegionViewsGetCall {
-	c := &RegionViewsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	c.resourceViewName = resourceViewName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsGetCall) Fields(s ...googleapi.Field) *RegionViewsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -684,13 +691,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionViewsGetCall) IfNoneMatch(entityTag string) *RegionViewsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsGetCall) Context(ctx context.Context) *RegionViewsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -698,9 +705,13 @@
 
 func (c *RegionViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews/{resourceViewName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -708,8 +719,8 @@
 		"resourceViewName": c.resourceViewName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -804,30 +815,30 @@
 	projectName  string
 	region       string
 	resourceview *ResourceView
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Create a resource view.
 func (r *RegionViewsService) Insert(projectName string, region string, resourceview *ResourceView) *RegionViewsInsertCall {
-	c := &RegionViewsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	c.resourceview = resourceview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsInsertCall) Fields(s ...googleapi.Field) *RegionViewsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsInsertCall) Context(ctx context.Context) *RegionViewsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -840,9 +851,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -932,17 +947,16 @@
 // method id "resourceviews.regionViews.list":
 
 type RegionViewsListCall struct {
-	s            *Service
-	projectName  string
-	region       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectName string
+	region      string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: List resource views.
 func (r *RegionViewsService) List(projectName string, region string) *RegionViewsListCall {
-	c := &RegionViewsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	return c
@@ -952,7 +966,7 @@
 // results to be returned. Acceptable values are 0 to 5000, inclusive.
 // (Default: 5000)
 func (c *RegionViewsListCall) MaxResults(maxResults int64) *RegionViewsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -961,15 +975,15 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *RegionViewsListCall) PageToken(pageToken string) *RegionViewsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsListCall) Fields(s ...googleapi.Field) *RegionViewsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -979,13 +993,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *RegionViewsListCall) IfNoneMatch(entityTag string) *RegionViewsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsListCall) Context(ctx context.Context) *RegionViewsListCall {
 	c.ctx_ = ctx
 	return c
@@ -993,17 +1007,27 @@
 
 func (c *RegionViewsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
 		"region":      c.region,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1105,13 +1129,13 @@
 	projectName      string
 	region           string
 	resourceViewName string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Listresources: List the resources in the view.
 func (r *RegionViewsService) Listresources(projectName string, region string, resourceViewName string) *RegionViewsListresourcesCall {
-	c := &RegionViewsListresourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsListresourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	c.resourceViewName = resourceViewName
@@ -1122,7 +1146,7 @@
 // results to be returned. Acceptable values are 0 to 5000, inclusive.
 // (Default: 5000)
 func (c *RegionViewsListresourcesCall) MaxResults(maxResults int64) *RegionViewsListresourcesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1131,21 +1155,21 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *RegionViewsListresourcesCall) PageToken(pageToken string) *RegionViewsListresourcesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsListresourcesCall) Fields(s ...googleapi.Field) *RegionViewsListresourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsListresourcesCall) Context(ctx context.Context) *RegionViewsListresourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -1153,9 +1177,19 @@
 
 func (c *RegionViewsListresourcesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews/{resourceViewName}/resources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -1271,13 +1305,13 @@
 	region                            string
 	resourceViewName                  string
 	regionviewsremoveresourcesrequest *RegionViewsRemoveResourcesRequest
-	urlParams_                        internal.URLParams
+	opt_                              map[string]interface{}
 	ctx_                              context.Context
 }
 
 // Removeresources: Remove resources from the view.
 func (r *RegionViewsService) Removeresources(projectName string, region string, resourceViewName string, regionviewsremoveresourcesrequest *RegionViewsRemoveResourcesRequest) *RegionViewsRemoveresourcesCall {
-	c := &RegionViewsRemoveresourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &RegionViewsRemoveresourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.region = region
 	c.resourceViewName = resourceViewName
@@ -1285,17 +1319,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *RegionViewsRemoveresourcesCall) Fields(s ...googleapi.Field) *RegionViewsRemoveresourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *RegionViewsRemoveresourcesCall) Context(ctx context.Context) *RegionViewsRemoveresourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -1308,9 +1342,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/regions/{region}/resourceViews/{resourceViewName}/removeResources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -1386,13 +1424,13 @@
 	zone                         string
 	resourceViewName             string
 	zoneviewsaddresourcesrequest *ZoneViewsAddResourcesRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
 // Addresources: Add resources to the view.
 func (r *ZoneViewsService) Addresources(projectName string, zone string, resourceViewName string, zoneviewsaddresourcesrequest *ZoneViewsAddResourcesRequest) *ZoneViewsAddresourcesCall {
-	c := &ZoneViewsAddresourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsAddresourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.resourceViewName = resourceViewName
@@ -1400,17 +1438,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsAddresourcesCall) Fields(s ...googleapi.Field) *ZoneViewsAddresourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsAddresourcesCall) Context(ctx context.Context) *ZoneViewsAddresourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -1423,9 +1461,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews/{resourceViewName}/addResources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -1500,30 +1542,30 @@
 	projectName      string
 	zone             string
 	resourceViewName string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Delete: Delete a resource view.
 func (r *ZoneViewsService) Delete(projectName string, zone string, resourceViewName string) *ZoneViewsDeleteCall {
-	c := &ZoneViewsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.resourceViewName = resourceViewName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsDeleteCall) Fields(s ...googleapi.Field) *ZoneViewsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsDeleteCall) Context(ctx context.Context) *ZoneViewsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1531,9 +1573,13 @@
 
 func (c *ZoneViewsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews/{resourceViewName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -1604,25 +1650,24 @@
 	projectName      string
 	zone             string
 	resourceViewName string
-	urlParams_       internal.URLParams
-	ifNoneMatch_     string
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Get: Get the information of a zonal resource view.
 func (r *ZoneViewsService) Get(projectName string, zone string, resourceViewName string) *ZoneViewsGetCall {
-	c := &ZoneViewsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.resourceViewName = resourceViewName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsGetCall) Fields(s ...googleapi.Field) *ZoneViewsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1632,13 +1677,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneViewsGetCall) IfNoneMatch(entityTag string) *ZoneViewsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsGetCall) Context(ctx context.Context) *ZoneViewsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1646,9 +1691,13 @@
 
 func (c *ZoneViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews/{resourceViewName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -1656,8 +1705,8 @@
 		"resourceViewName": c.resourceViewName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1752,30 +1801,30 @@
 	projectName  string
 	zone         string
 	resourceview *ResourceView
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Create a resource view.
 func (r *ZoneViewsService) Insert(projectName string, zone string, resourceview *ResourceView) *ZoneViewsInsertCall {
-	c := &ZoneViewsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.resourceview = resourceview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsInsertCall) Fields(s ...googleapi.Field) *ZoneViewsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsInsertCall) Context(ctx context.Context) *ZoneViewsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1788,9 +1837,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
@@ -1880,17 +1933,16 @@
 // method id "resourceviews.zoneViews.list":
 
 type ZoneViewsListCall struct {
-	s            *Service
-	projectName  string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	projectName string
+	zone        string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: List resource views.
 func (r *ZoneViewsService) List(projectName string, zone string) *ZoneViewsListCall {
-	c := &ZoneViewsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	return c
@@ -1900,7 +1952,7 @@
 // results to be returned. Acceptable values are 0 to 5000, inclusive.
 // (Default: 5000)
 func (c *ZoneViewsListCall) MaxResults(maxResults int64) *ZoneViewsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1909,15 +1961,15 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *ZoneViewsListCall) PageToken(pageToken string) *ZoneViewsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsListCall) Fields(s ...googleapi.Field) *ZoneViewsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1927,13 +1979,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneViewsListCall) IfNoneMatch(entityTag string) *ZoneViewsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsListCall) Context(ctx context.Context) *ZoneViewsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1941,17 +1993,27 @@
 
 func (c *ZoneViewsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName": c.projectName,
 		"zone":        c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2053,13 +2115,13 @@
 	projectName      string
 	zone             string
 	resourceViewName string
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Listresources: List the resources of the resource view.
 func (r *ZoneViewsService) Listresources(projectName string, zone string, resourceViewName string) *ZoneViewsListresourcesCall {
-	c := &ZoneViewsListresourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsListresourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.resourceViewName = resourceViewName
@@ -2070,7 +2132,7 @@
 // results to be returned. Acceptable values are 0 to 5000, inclusive.
 // (Default: 5000)
 func (c *ZoneViewsListresourcesCall) MaxResults(maxResults int64) *ZoneViewsListresourcesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2079,21 +2141,21 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *ZoneViewsListresourcesCall) PageToken(pageToken string) *ZoneViewsListresourcesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsListresourcesCall) Fields(s ...googleapi.Field) *ZoneViewsListresourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsListresourcesCall) Context(ctx context.Context) *ZoneViewsListresourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -2101,9 +2163,19 @@
 
 func (c *ZoneViewsListresourcesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews/{resourceViewName}/resources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
@@ -2219,13 +2291,13 @@
 	zone                            string
 	resourceViewName                string
 	zoneviewsremoveresourcesrequest *ZoneViewsRemoveResourcesRequest
-	urlParams_                      internal.URLParams
+	opt_                            map[string]interface{}
 	ctx_                            context.Context
 }
 
 // Removeresources: Remove resources from the view.
 func (r *ZoneViewsService) Removeresources(projectName string, zone string, resourceViewName string, zoneviewsremoveresourcesrequest *ZoneViewsRemoveResourcesRequest) *ZoneViewsRemoveresourcesCall {
-	c := &ZoneViewsRemoveresourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsRemoveresourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectName = projectName
 	c.zone = zone
 	c.resourceViewName = resourceViewName
@@ -2233,17 +2305,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsRemoveresourcesCall) Fields(s ...googleapi.Field) *ZoneViewsRemoveresourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsRemoveresourcesCall) Context(ctx context.Context) *ZoneViewsRemoveresourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -2256,9 +2328,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{projectName}/zones/{zone}/resourceViews/{resourceViewName}/removeResources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectName":      c.projectName,
diff --git a/resourceviews/v1beta2/resourceviews-gen.go b/resourceviews/v1beta2/resourceviews-gen.go
index 5b5645c..72bf23f 100644
--- a/resourceviews/v1beta2/resourceviews-gen.go
+++ b/resourceviews/v1beta2/resourceviews-gen.go
@@ -653,29 +653,28 @@
 // method id "resourceviews.zoneOperations.get":
 
 type ZoneOperationsGetCall struct {
-	s            *Service
-	project      string
-	zone         string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	zone      string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves the specified zone-specific operation resource.
 func (r *ZoneOperationsService) Get(project string, zone string, operation string) *ZoneOperationsGetCall {
-	c := &ZoneOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsGetCall) Fields(s ...googleapi.Field) *ZoneOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -685,13 +684,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsGetCall) IfNoneMatch(entityTag string) *ZoneOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -699,9 +698,13 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -709,8 +712,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -804,18 +807,17 @@
 // method id "resourceviews.zoneOperations.list":
 
 type ZoneOperationsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Retrieves the list of operation resources contained within the
 // specified zone.
 func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperationsListCall {
-	c := &ZoneOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -824,7 +826,7 @@
 // Filter sets the optional parameter "filter": Filter expression for
 // filtering listed resources.
 func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
@@ -832,7 +834,7 @@
 // results to be returned. Maximum value is 500 and default value is
 // 500.
 func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -840,15 +842,15 @@
 // previous list request truncated by maxResults. Used to continue a
 // previous list request.
 func (c *ZoneOperationsListCall) PageToken(pageToken string) *ZoneOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneOperationsListCall) Fields(s ...googleapi.Field) *ZoneOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -858,13 +860,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneOperationsListCall) IfNoneMatch(entityTag string) *ZoneOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -872,17 +874,30 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -992,13 +1007,13 @@
 	zone                         string
 	resourceView                 string
 	zoneviewsaddresourcesrequest *ZoneViewsAddResourcesRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
 // AddResources: Add resources to the view.
 func (r *ZoneViewsService) AddResources(project string, zone string, resourceView string, zoneviewsaddresourcesrequest *ZoneViewsAddResourcesRequest) *ZoneViewsAddResourcesCall {
-	c := &ZoneViewsAddResourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsAddResourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
@@ -1006,17 +1021,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsAddResourcesCall) Fields(s ...googleapi.Field) *ZoneViewsAddResourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsAddResourcesCall) Context(ctx context.Context) *ZoneViewsAddResourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -1029,9 +1044,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}/addResources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
@@ -1133,30 +1152,30 @@
 	project      string
 	zone         string
 	resourceView string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Delete a resource view.
 func (r *ZoneViewsService) Delete(project string, zone string, resourceView string) *ZoneViewsDeleteCall {
-	c := &ZoneViewsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsDeleteCall) Fields(s ...googleapi.Field) *ZoneViewsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsDeleteCall) Context(ctx context.Context) *ZoneViewsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1164,9 +1183,13 @@
 
 func (c *ZoneViewsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
@@ -1264,25 +1287,24 @@
 	project      string
 	zone         string
 	resourceView string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Get the information of a zonal resource view.
 func (r *ZoneViewsService) Get(project string, zone string, resourceView string) *ZoneViewsGetCall {
-	c := &ZoneViewsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsGetCall) Fields(s ...googleapi.Field) *ZoneViewsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1292,13 +1314,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneViewsGetCall) IfNoneMatch(entityTag string) *ZoneViewsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsGetCall) Context(ctx context.Context) *ZoneViewsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1306,9 +1328,13 @@
 
 func (c *ZoneViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
@@ -1316,8 +1342,8 @@
 		"resourceView": c.resourceView,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1412,14 +1438,14 @@
 	project      string
 	zone         string
 	resourceView string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // GetService: Get the service information of a resource view or a
 // resource.
 func (r *ZoneViewsService) GetService(project string, zone string, resourceView string) *ZoneViewsGetServiceCall {
-	c := &ZoneViewsGetServiceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsGetServiceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
@@ -1430,21 +1456,21 @@
 // the resource if user wants to get the service information of the
 // resource.
 func (c *ZoneViewsGetServiceCall) ResourceName(resourceName string) *ZoneViewsGetServiceCall {
-	c.urlParams_.Set("resourceName", resourceName)
+	c.opt_["resourceName"] = resourceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsGetServiceCall) Fields(s ...googleapi.Field) *ZoneViewsGetServiceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsGetServiceCall) Context(ctx context.Context) *ZoneViewsGetServiceCall {
 	c.ctx_ = ctx
 	return c
@@ -1452,9 +1478,16 @@
 
 func (c *ZoneViewsGetServiceCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["resourceName"]; ok {
+		params.Set("resourceName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}/getService")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
@@ -1557,30 +1590,30 @@
 	project      string
 	zone         string
 	resourceview *ResourceView
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Create a resource view.
 func (r *ZoneViewsService) Insert(project string, zone string, resourceview *ResourceView) *ZoneViewsInsertCall {
-	c := &ZoneViewsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceview = resourceview
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsInsertCall) Fields(s ...googleapi.Field) *ZoneViewsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsInsertCall) Context(ctx context.Context) *ZoneViewsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1593,9 +1626,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -1685,17 +1722,16 @@
 // method id "resourceviews.zoneViews.list":
 
 type ZoneViewsListCall struct {
-	s            *Service
-	project      string
-	zone         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	zone    string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: List resource views.
 func (r *ZoneViewsService) List(project string, zone string) *ZoneViewsListCall {
-	c := &ZoneViewsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	return c
@@ -1705,7 +1741,7 @@
 // results to be returned. Acceptable values are 0 to 5000, inclusive.
 // (Default: 5000)
 func (c *ZoneViewsListCall) MaxResults(maxResults int64) *ZoneViewsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1714,15 +1750,15 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *ZoneViewsListCall) PageToken(pageToken string) *ZoneViewsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsListCall) Fields(s ...googleapi.Field) *ZoneViewsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1732,13 +1768,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneViewsListCall) IfNoneMatch(entityTag string) *ZoneViewsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsListCall) Context(ctx context.Context) *ZoneViewsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1746,17 +1782,27 @@
 
 func (c *ZoneViewsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 		"zone":    c.zone,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1858,14 +1904,13 @@
 	project      string
 	zone         string
 	resourceView string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // ListResources: List the resources of the resource view.
 func (r *ZoneViewsService) ListResources(project string, zone string, resourceView string) *ZoneViewsListResourcesCall {
-	c := &ZoneViewsListResourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsListResourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
@@ -1882,7 +1927,7 @@
 //   "URL"
 //   "URL_PORT"
 func (c *ZoneViewsListResourcesCall) Format(format string) *ZoneViewsListResourcesCall {
-	c.urlParams_.Set("format", format)
+	c.opt_["format"] = format
 	return c
 }
 
@@ -1893,7 +1938,7 @@
 //   "ALL" (default)
 //   "RUNNING"
 func (c *ZoneViewsListResourcesCall) ListState(listState string) *ZoneViewsListResourcesCall {
-	c.urlParams_.Set("listState", listState)
+	c.opt_["listState"] = listState
 	return c
 }
 
@@ -1901,7 +1946,7 @@
 // results to be returned. Acceptable values are 0 to 5000, inclusive.
 // (Default: 5000)
 func (c *ZoneViewsListResourcesCall) MaxResults(maxResults int64) *ZoneViewsListResourcesCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1910,7 +1955,7 @@
 // used to request the next page of results from a previous list
 // request.
 func (c *ZoneViewsListResourcesCall) PageToken(pageToken string) *ZoneViewsListResourcesCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1918,15 +1963,15 @@
 // name to return in the response. It is optional and if it is not set,
 // all the service end points will be returned.
 func (c *ZoneViewsListResourcesCall) ServiceName(serviceName string) *ZoneViewsListResourcesCall {
-	c.urlParams_.Set("serviceName", serviceName)
+	c.opt_["serviceName"] = serviceName
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsListResourcesCall) Fields(s ...googleapi.Field) *ZoneViewsListResourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1936,13 +1981,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ZoneViewsListResourcesCall) IfNoneMatch(entityTag string) *ZoneViewsListResourcesCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsListResourcesCall) Context(ctx context.Context) *ZoneViewsListResourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -1950,9 +1995,28 @@
 
 func (c *ZoneViewsListResourcesCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["format"]; ok {
+		params.Set("format", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["listState"]; ok {
+		params.Set("listState", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["serviceName"]; ok {
+		params.Set("serviceName", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}/resources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
@@ -1960,8 +2024,8 @@
 		"resourceView": c.resourceView,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2105,13 +2169,13 @@
 	zone                            string
 	resourceView                    string
 	zoneviewsremoveresourcesrequest *ZoneViewsRemoveResourcesRequest
-	urlParams_                      internal.URLParams
+	opt_                            map[string]interface{}
 	ctx_                            context.Context
 }
 
 // RemoveResources: Remove resources from the view.
 func (r *ZoneViewsService) RemoveResources(project string, zone string, resourceView string, zoneviewsremoveresourcesrequest *ZoneViewsRemoveResourcesRequest) *ZoneViewsRemoveResourcesCall {
-	c := &ZoneViewsRemoveResourcesCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsRemoveResourcesCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
@@ -2119,17 +2183,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsRemoveResourcesCall) Fields(s ...googleapi.Field) *ZoneViewsRemoveResourcesCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsRemoveResourcesCall) Context(ctx context.Context) *ZoneViewsRemoveResourcesCall {
 	c.ctx_ = ctx
 	return c
@@ -2142,9 +2206,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}/removeResources")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
@@ -2247,14 +2315,14 @@
 	zone                       string
 	resourceView               string
 	zoneviewssetservicerequest *ZoneViewsSetServiceRequest
-	urlParams_                 internal.URLParams
+	opt_                       map[string]interface{}
 	ctx_                       context.Context
 }
 
 // SetService: Update the service information of a resource view or a
 // resource.
 func (r *ZoneViewsService) SetService(project string, zone string, resourceView string, zoneviewssetservicerequest *ZoneViewsSetServiceRequest) *ZoneViewsSetServiceCall {
-	c := &ZoneViewsSetServiceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ZoneViewsSetServiceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.zone = zone
 	c.resourceView = resourceView
@@ -2262,17 +2330,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ZoneViewsSetServiceCall) Fields(s ...googleapi.Field) *ZoneViewsSetServiceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ZoneViewsSetServiceCall) Context(ctx context.Context) *ZoneViewsSetServiceCall {
 	c.ctx_ = ctx
 	return c
@@ -2285,9 +2353,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/resourceViews/{resourceView}/setService")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":      c.project,
diff --git a/script/v1/script-gen.go b/script/v1/script-gen.go
index c1b092d..307faa5 100644
--- a/script/v1/script-gen.go
+++ b/script/v1/script-gen.go
@@ -343,7 +343,7 @@
 	s                *Service
 	scriptId         string
 	executionrequest *ExecutionRequest
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -356,23 +356,23 @@
 // authentication token, open the project in the script editor, then
 // select **File > Project properties** and click the **Scopes** tab.
 func (r *ScriptsService) Run(scriptId string, executionrequest *ExecutionRequest) *ScriptsRunCall {
-	c := &ScriptsRunCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ScriptsRunCall{s: r.s, opt_: make(map[string]interface{})}
 	c.scriptId = scriptId
 	c.executionrequest = executionrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ScriptsRunCall) Fields(s ...googleapi.Field) *ScriptsRunCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ScriptsRunCall) Context(ctx context.Context) *ScriptsRunCall {
 	c.ctx_ = ctx
 	return c
@@ -385,9 +385,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/scripts/{scriptId}:run")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"scriptId": c.scriptId,
diff --git a/siteverification/v1/siteverification-gen.go b/siteverification/v1/siteverification-gen.go
index 6e3e7aa..6573659 100644
--- a/siteverification/v1/siteverification-gen.go
+++ b/siteverification/v1/siteverification-gen.go
@@ -252,30 +252,30 @@
 // method id "siteVerification.webResource.delete":
 
 type WebResourceDeleteCall struct {
-	s          *Service
-	id         string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Relinquish ownership of a website or domain.
 func (r *WebResourceService) Delete(id string) *WebResourceDeleteCall {
-	c := &WebResourceDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebResourceDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourceDeleteCall) Fields(s ...googleapi.Field) *WebResourceDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourceDeleteCall) Context(ctx context.Context) *WebResourceDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -283,9 +283,13 @@
 
 func (c *WebResourceDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webResource/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -334,25 +338,24 @@
 // method id "siteVerification.webResource.get":
 
 type WebResourceGetCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Get the most current data for a website or domain.
 func (r *WebResourceService) Get(id string) *WebResourceGetCall {
-	c := &WebResourceGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebResourceGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourceGetCall) Fields(s ...googleapi.Field) *WebResourceGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -362,13 +365,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *WebResourceGetCall) IfNoneMatch(entityTag string) *WebResourceGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourceGetCall) Context(ctx context.Context) *WebResourceGetCall {
 	c.ctx_ = ctx
 	return c
@@ -376,16 +379,20 @@
 
 func (c *WebResourceGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webResource/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -460,29 +467,29 @@
 type WebResourceGetTokenCall struct {
 	s                                          *Service
 	siteverificationwebresourcegettokenrequest *SiteVerificationWebResourceGettokenRequest
-	urlParams_                                 internal.URLParams
+	opt_                                       map[string]interface{}
 	ctx_                                       context.Context
 }
 
 // GetToken: Get a verification token for placing on a website or
 // domain.
 func (r *WebResourceService) GetToken(siteverificationwebresourcegettokenrequest *SiteVerificationWebResourceGettokenRequest) *WebResourceGetTokenCall {
-	c := &WebResourceGetTokenCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebResourceGetTokenCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteverificationwebresourcegettokenrequest = siteverificationwebresourcegettokenrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourceGetTokenCall) Fields(s ...googleapi.Field) *WebResourceGetTokenCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourceGetTokenCall) Context(ctx context.Context) *WebResourceGetTokenCall {
 	c.ctx_ = ctx
 	return c
@@ -495,9 +502,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "token")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -568,30 +579,31 @@
 
 type WebResourceInsertCall struct {
 	s                                   *Service
+	verificationMethod                  string
 	siteverificationwebresourceresource *SiteVerificationWebResourceResource
-	urlParams_                          internal.URLParams
+	opt_                                map[string]interface{}
 	ctx_                                context.Context
 }
 
 // Insert: Attempt verification of a website or domain.
 func (r *WebResourceService) Insert(verificationMethod string, siteverificationwebresourceresource *SiteVerificationWebResourceResource) *WebResourceInsertCall {
-	c := &WebResourceInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("verificationMethod", verificationMethod)
+	c := &WebResourceInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.verificationMethod = verificationMethod
 	c.siteverificationwebresourceresource = siteverificationwebresourceresource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourceInsertCall) Fields(s ...googleapi.Field) *WebResourceInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourceInsertCall) Context(ctx context.Context) *WebResourceInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -604,9 +616,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("verificationMethod", fmt.Sprintf("%v", c.verificationMethod))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webResource")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -686,23 +703,22 @@
 // method id "siteVerification.webResource.list":
 
 type WebResourceListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Get the list of your verified websites and domains.
 func (r *WebResourceService) List() *WebResourceListCall {
-	c := &WebResourceListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebResourceListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourceListCall) Fields(s ...googleapi.Field) *WebResourceListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -712,13 +728,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *WebResourceListCall) IfNoneMatch(entityTag string) *WebResourceListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourceListCall) Context(ctx context.Context) *WebResourceListCall {
 	c.ctx_ = ctx
 	return c
@@ -726,14 +742,18 @@
 
 func (c *WebResourceListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webResource")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -798,30 +818,30 @@
 	s                                   *Service
 	id                                  string
 	siteverificationwebresourceresource *SiteVerificationWebResourceResource
-	urlParams_                          internal.URLParams
+	opt_                                map[string]interface{}
 	ctx_                                context.Context
 }
 
 // Patch: Modify the list of owners for your website or domain. This
 // method supports patch semantics.
 func (r *WebResourceService) Patch(id string, siteverificationwebresourceresource *SiteVerificationWebResourceResource) *WebResourcePatchCall {
-	c := &WebResourcePatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebResourcePatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.siteverificationwebresourceresource = siteverificationwebresourceresource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourcePatchCall) Fields(s ...googleapi.Field) *WebResourcePatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourcePatchCall) Context(ctx context.Context) *WebResourcePatchCall {
 	c.ctx_ = ctx
 	return c
@@ -834,9 +854,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webResource/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
@@ -920,29 +944,29 @@
 	s                                   *Service
 	id                                  string
 	siteverificationwebresourceresource *SiteVerificationWebResourceResource
-	urlParams_                          internal.URLParams
+	opt_                                map[string]interface{}
 	ctx_                                context.Context
 }
 
 // Update: Modify the list of owners for your website or domain.
 func (r *WebResourceService) Update(id string, siteverificationwebresourceresource *SiteVerificationWebResourceResource) *WebResourceUpdateCall {
-	c := &WebResourceUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebResourceUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	c.siteverificationwebresourceresource = siteverificationwebresourceresource
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebResourceUpdateCall) Fields(s ...googleapi.Field) *WebResourceUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebResourceUpdateCall) Context(ctx context.Context) *WebResourceUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -955,9 +979,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webResource/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
diff --git a/spectrum/v1explorer/spectrum-gen.go b/spectrum/v1explorer/spectrum-gen.go
index 85c2f84..4847ba0 100644
--- a/spectrum/v1explorer/spectrum-gen.go
+++ b/spectrum/v1explorer/spectrum-gen.go
@@ -1553,7 +1553,7 @@
 type PawsGetSpectrumCall struct {
 	s                      *Service
 	pawsgetspectrumrequest *PawsGetSpectrumRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
@@ -1561,22 +1561,22 @@
 // device at a location. Requests from a fixed-mode device must include
 // owner information so the device can be registered with the database.
 func (r *PawsService) GetSpectrum(pawsgetspectrumrequest *PawsGetSpectrumRequest) *PawsGetSpectrumCall {
-	c := &PawsGetSpectrumCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PawsGetSpectrumCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pawsgetspectrumrequest = pawsgetspectrumrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PawsGetSpectrumCall) Fields(s ...googleapi.Field) *PawsGetSpectrumCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PawsGetSpectrumCall) Context(ctx context.Context) *PawsGetSpectrumCall {
 	c.ctx_ = ctx
 	return c
@@ -1589,9 +1589,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "getSpectrum")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1657,29 +1661,29 @@
 type PawsGetSpectrumBatchCall struct {
 	s                           *Service
 	pawsgetspectrumbatchrequest *PawsGetSpectrumBatchRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
 // GetSpectrumBatch: The Google Spectrum Database does not support batch
 // requests, so this method always yields an UNIMPLEMENTED error.
 func (r *PawsService) GetSpectrumBatch(pawsgetspectrumbatchrequest *PawsGetSpectrumBatchRequest) *PawsGetSpectrumBatchCall {
-	c := &PawsGetSpectrumBatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PawsGetSpectrumBatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pawsgetspectrumbatchrequest = pawsgetspectrumbatchrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PawsGetSpectrumBatchCall) Fields(s ...googleapi.Field) *PawsGetSpectrumBatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PawsGetSpectrumBatchCall) Context(ctx context.Context) *PawsGetSpectrumBatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1692,9 +1696,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "getSpectrumBatch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1760,29 +1768,29 @@
 type PawsInitCall struct {
 	s               *Service
 	pawsinitrequest *PawsInitRequest
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Init: Initializes the connection between a white space device and the
 // database.
 func (r *PawsService) Init(pawsinitrequest *PawsInitRequest) *PawsInitCall {
-	c := &PawsInitCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PawsInitCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pawsinitrequest = pawsinitrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PawsInitCall) Fields(s ...googleapi.Field) *PawsInitCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PawsInitCall) Context(ctx context.Context) *PawsInitCall {
 	c.ctx_ = ctx
 	return c
@@ -1795,9 +1803,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "init")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1863,7 +1875,7 @@
 type PawsNotifySpectrumUseCall struct {
 	s                            *Service
 	pawsnotifyspectrumuserequest *PawsNotifySpectrumUseRequest
-	urlParams_                   internal.URLParams
+	opt_                         map[string]interface{}
 	ctx_                         context.Context
 }
 
@@ -1873,22 +1885,22 @@
 // operate in domains that require notification, so this always yields
 // an UNIMPLEMENTED error.
 func (r *PawsService) NotifySpectrumUse(pawsnotifyspectrumuserequest *PawsNotifySpectrumUseRequest) *PawsNotifySpectrumUseCall {
-	c := &PawsNotifySpectrumUseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PawsNotifySpectrumUseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pawsnotifyspectrumuserequest = pawsnotifyspectrumuserequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PawsNotifySpectrumUseCall) Fields(s ...googleapi.Field) *PawsNotifySpectrumUseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PawsNotifySpectrumUseCall) Context(ctx context.Context) *PawsNotifySpectrumUseCall {
 	c.ctx_ = ctx
 	return c
@@ -1901,9 +1913,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "notifySpectrumUse")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1969,7 +1985,7 @@
 type PawsRegisterCall struct {
 	s                   *Service
 	pawsregisterrequest *PawsRegisterRequest
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
@@ -1977,22 +1993,22 @@
 // getSpectrum method. As such this always returns an UNIMPLEMENTED
 // error.
 func (r *PawsService) Register(pawsregisterrequest *PawsRegisterRequest) *PawsRegisterCall {
-	c := &PawsRegisterCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PawsRegisterCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pawsregisterrequest = pawsregisterrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PawsRegisterCall) Fields(s ...googleapi.Field) *PawsRegisterCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PawsRegisterCall) Context(ctx context.Context) *PawsRegisterCall {
 	c.ctx_ = ctx
 	return c
@@ -2005,9 +2021,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "register")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2073,7 +2093,7 @@
 type PawsVerifyDeviceCall struct {
 	s                       *Service
 	pawsverifydevicerequest *PawsVerifyDeviceRequest
-	urlParams_              internal.URLParams
+	opt_                    map[string]interface{}
 	ctx_                    context.Context
 }
 
@@ -2082,22 +2102,22 @@
 // master/slave configurations, so this always yields an UNIMPLEMENTED
 // error.
 func (r *PawsService) VerifyDevice(pawsverifydevicerequest *PawsVerifyDeviceRequest) *PawsVerifyDeviceCall {
-	c := &PawsVerifyDeviceCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &PawsVerifyDeviceCall{s: r.s, opt_: make(map[string]interface{})}
 	c.pawsverifydevicerequest = pawsverifydevicerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PawsVerifyDeviceCall) Fields(s ...googleapi.Field) *PawsVerifyDeviceCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PawsVerifyDeviceCall) Context(ctx context.Context) *PawsVerifyDeviceCall {
 	c.ctx_ = ctx
 	return c
@@ -2110,9 +2130,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyDevice")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
diff --git a/sqladmin/v1beta3/sqladmin-gen.go b/sqladmin/v1beta3/sqladmin-gen.go
index 7bc0196..7f878cc 100644
--- a/sqladmin/v1beta3/sqladmin-gen.go
+++ b/sqladmin/v1beta3/sqladmin-gen.go
@@ -1579,27 +1579,27 @@
 	project             string
 	instance            string
 	backupConfiguration string
-	urlParams_          internal.URLParams
-	ifNoneMatch_        string
+	dueTime             string
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Get: Retrieves information about a specified backup run for a Cloud
 // SQL instance.
 func (r *BackupRunsService) Get(project string, instance string, backupConfiguration string, dueTime string) *BackupRunsGetCall {
-	c := &BackupRunsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackupRunsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.backupConfiguration = backupConfiguration
-	c.urlParams_.Set("dueTime", dueTime)
+	c.dueTime = dueTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackupRunsGetCall) Fields(s ...googleapi.Field) *BackupRunsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1609,13 +1609,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackupRunsGetCall) IfNoneMatch(entityTag string) *BackupRunsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackupRunsGetCall) Context(ctx context.Context) *BackupRunsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1623,9 +1623,14 @@
 
 func (c *BackupRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("dueTime", fmt.Sprintf("%v", c.dueTime))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/backupRuns/{backupConfiguration}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":             c.project,
@@ -1633,8 +1638,8 @@
 		"backupConfiguration": c.backupConfiguration,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1728,27 +1733,27 @@
 // method id "sql.backupRuns.list":
 
 type BackupRunsListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                   *Service
+	project             string
+	instance            string
+	backupConfiguration string
+	opt_                map[string]interface{}
+	ctx_                context.Context
 }
 
 // List: Lists all backup runs associated with a Cloud SQL instance.
 func (r *BackupRunsService) List(project string, instance string, backupConfiguration string) *BackupRunsListCall {
-	c := &BackupRunsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackupRunsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
-	c.urlParams_.Set("backupConfiguration", backupConfiguration)
+	c.backupConfiguration = backupConfiguration
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of backup runs per response.
 func (c *BackupRunsListCall) MaxResults(maxResults int64) *BackupRunsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -1756,15 +1761,15 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *BackupRunsListCall) PageToken(pageToken string) *BackupRunsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackupRunsListCall) Fields(s ...googleapi.Field) *BackupRunsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1774,13 +1779,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackupRunsListCall) IfNoneMatch(entityTag string) *BackupRunsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackupRunsListCall) Context(ctx context.Context) *BackupRunsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1788,17 +1793,28 @@
 
 func (c *BackupRunsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("backupConfiguration", fmt.Sprintf("%v", c.backupConfiguration))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/backupRuns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1896,24 +1912,23 @@
 // method id "sql.flags.list":
 
 type FlagsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all database flags that can be set for Google Cloud SQL
 // instances.
 func (r *FlagsService) List() *FlagsListCall {
-	c := &FlagsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FlagsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FlagsListCall) Fields(s ...googleapi.Field) *FlagsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1923,13 +1938,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FlagsListCall) IfNoneMatch(entityTag string) *FlagsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FlagsListCall) Context(ctx context.Context) *FlagsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1937,14 +1952,18 @@
 
 func (c *FlagsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "flags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2009,29 +2028,29 @@
 	s                     *Service
 	project               string
 	instancesclonerequest *InstancesCloneRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Clone: Creates a Cloud SQL instance as a clone of a source instance.
 func (r *InstancesService) Clone(project string, instancesclonerequest *InstancesCloneRequest) *InstancesCloneCall {
-	c := &InstancesCloneCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesCloneCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instancesclonerequest = instancesclonerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesCloneCall) Fields(s ...googleapi.Field) *InstancesCloneCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesCloneCall) Context(ctx context.Context) *InstancesCloneCall {
 	c.ctx_ = ctx
 	return c
@@ -2044,9 +2063,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/clone")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2127,32 +2150,32 @@
 // method id "sql.instances.delete":
 
 type InstancesDeleteCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a Cloud SQL instance.
 func (r *InstancesService) Delete(project string, instance string) *InstancesDeleteCall {
-	c := &InstancesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2160,9 +2183,13 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2251,31 +2278,31 @@
 	project                string
 	instance               string
 	instancesexportrequest *InstancesExportRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // Export: Exports data from a Cloud SQL instance to a Google Cloud
 // Storage bucket as a MySQL dump file.
 func (r *InstancesService) Export(project string, instance string, instancesexportrequest *InstancesExportRequest) *InstancesExportCall {
-	c := &InstancesExportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesExportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesexportrequest = instancesexportrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesExportCall) Fields(s ...googleapi.Field) *InstancesExportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesExportCall) Context(ctx context.Context) *InstancesExportCall {
 	c.ctx_ = ctx
 	return c
@@ -2288,9 +2315,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/export")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2378,27 +2409,26 @@
 // method id "sql.instances.get":
 
 type InstancesGetCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves information about a Cloud SQL instance.
 func (r *InstancesService) Get(project string, instance string) *InstancesGetCall {
-	c := &InstancesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2408,13 +2438,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2422,17 +2452,21 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2516,31 +2550,31 @@
 	project                string
 	instance               string
 	instancesimportrequest *InstancesImportRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // Import: Imports data into a Cloud SQL instance from a MySQL dump file
 // stored in a Google Cloud Storage bucket.
 func (r *InstancesService) Import(project string, instance string, instancesimportrequest *InstancesImportRequest) *InstancesImportCall {
-	c := &InstancesImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesimportrequest = instancesimportrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesImportCall) Fields(s ...googleapi.Field) *InstancesImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesImportCall) Context(ctx context.Context) *InstancesImportCall {
 	c.ctx_ = ctx
 	return c
@@ -2553,9 +2587,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/import")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2646,29 +2684,29 @@
 	s                *Service
 	project          string
 	databaseinstance *DatabaseInstance
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Insert: Creates a new Cloud SQL instance.
 func (r *InstancesService) Insert(project string, databaseinstance *DatabaseInstance) *InstancesInsertCall {
-	c := &InstancesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.databaseinstance = databaseinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2681,9 +2719,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -2764,17 +2806,16 @@
 // method id "sql.instances.list":
 
 type InstancesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists instances for a given project, in alphabetical order by
 // instance name.
 func (r *InstancesService) List(project string) *InstancesListCall {
-	c := &InstancesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -2782,7 +2823,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of results to return per response.
 func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2790,15 +2831,15 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2808,13 +2849,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2822,16 +2863,26 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2919,31 +2970,31 @@
 	project          string
 	instance         string
 	databaseinstance *DatabaseInstance
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Patch: Updates the settings of a Cloud SQL instance. This method
 // supports patch semantics.
 func (r *InstancesService) Patch(project string, instance string, databaseinstance *DatabaseInstance) *InstancesPatchCall {
-	c := &InstancesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.databaseinstance = databaseinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesPatchCall) Fields(s ...googleapi.Field) *InstancesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesPatchCall) Context(ctx context.Context) *InstancesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2956,9 +3007,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3047,33 +3102,33 @@
 // method id "sql.instances.promoteReplica":
 
 type InstancesPromoteReplicaCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // PromoteReplica: Promotes the read replica instance to be a
 // stand-alone Cloud SQL instance.
 func (r *InstancesService) PromoteReplica(project string, instance string) *InstancesPromoteReplicaCall {
-	c := &InstancesPromoteReplicaCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesPromoteReplicaCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesPromoteReplicaCall) Fields(s ...googleapi.Field) *InstancesPromoteReplicaCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesPromoteReplicaCall) Context(ctx context.Context) *InstancesPromoteReplicaCall {
 	c.ctx_ = ctx
 	return c
@@ -3081,9 +3136,13 @@
 
 func (c *InstancesPromoteReplicaCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/promoteReplica")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3168,33 +3227,33 @@
 // method id "sql.instances.resetSslConfig":
 
 type InstancesResetSslConfigCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // ResetSslConfig: Deletes all client certificates and generates a new
 // server SSL certificate for a Cloud SQL instance.
 func (r *InstancesService) ResetSslConfig(project string, instance string) *InstancesResetSslConfigCall {
-	c := &InstancesResetSslConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesResetSslConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesResetSslConfigCall) Fields(s ...googleapi.Field) *InstancesResetSslConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesResetSslConfigCall) Context(ctx context.Context) *InstancesResetSslConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -3202,9 +3261,13 @@
 
 func (c *InstancesResetSslConfigCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/resetSslConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3289,32 +3352,32 @@
 // method id "sql.instances.restart":
 
 type InstancesRestartCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Restart: Restarts a Cloud SQL instance.
 func (r *InstancesService) Restart(project string, instance string) *InstancesRestartCall {
-	c := &InstancesRestartCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesRestartCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesRestartCall) Fields(s ...googleapi.Field) *InstancesRestartCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesRestartCall) Context(ctx context.Context) *InstancesRestartCall {
 	c.ctx_ = ctx
 	return c
@@ -3322,9 +3385,13 @@
 
 func (c *InstancesRestartCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/restart")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3409,34 +3476,36 @@
 // method id "sql.instances.restoreBackup":
 
 type InstancesRestoreBackupCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                     *Service
+	project               string
+	instance              string
+	backupConfigurationid string
+	dueTime               string
+	opt_                  map[string]interface{}
+	ctx_                  context.Context
 }
 
 // RestoreBackup: Restores a backup of a Cloud SQL instance.
 func (r *InstancesService) RestoreBackup(project string, instance string, backupConfigurationid string, dueTime string) *InstancesRestoreBackupCall {
-	c := &InstancesRestoreBackupCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesRestoreBackupCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
-	c.urlParams_.Set("backupConfigurationid", backupConfigurationid)
-	c.urlParams_.Set("dueTime", dueTime)
+	c.backupConfigurationid = backupConfigurationid
+	c.dueTime = dueTime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesRestoreBackupCall) Fields(s ...googleapi.Field) *InstancesRestoreBackupCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesRestoreBackupCall) Context(ctx context.Context) *InstancesRestoreBackupCall {
 	c.ctx_ = ctx
 	return c
@@ -3444,9 +3513,15 @@
 
 func (c *InstancesRestoreBackupCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("backupConfiguration", fmt.Sprintf("%v", c.backupConfigurationid))
+	params.Set("dueTime", fmt.Sprintf("%v", c.dueTime))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/restoreBackup")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3549,31 +3624,31 @@
 	project                        string
 	instance                       string
 	instancesetrootpasswordrequest *InstanceSetRootPasswordRequest
-	urlParams_                     internal.URLParams
+	opt_                           map[string]interface{}
 	ctx_                           context.Context
 }
 
 // SetRootPassword: Sets the password for the root user of the specified
 // Cloud SQL instance.
 func (r *InstancesService) SetRootPassword(project string, instance string, instancesetrootpasswordrequest *InstanceSetRootPasswordRequest) *InstancesSetRootPasswordCall {
-	c := &InstancesSetRootPasswordCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesSetRootPasswordCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesetrootpasswordrequest = instancesetrootpasswordrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesSetRootPasswordCall) Fields(s ...googleapi.Field) *InstancesSetRootPasswordCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesSetRootPasswordCall) Context(ctx context.Context) *InstancesSetRootPasswordCall {
 	c.ctx_ = ctx
 	return c
@@ -3586,9 +3661,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/setRootPassword")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3681,30 +3760,30 @@
 	project          string
 	instance         string
 	databaseinstance *DatabaseInstance
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Update: Updates the settings of a Cloud SQL instance.
 func (r *InstancesService) Update(project string, instance string, databaseinstance *DatabaseInstance) *InstancesUpdateCall {
-	c := &InstancesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.databaseinstance = databaseinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesUpdateCall) Fields(s ...googleapi.Field) *InstancesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesUpdateCall) Context(ctx context.Context) *InstancesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3717,9 +3796,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3809,30 +3892,29 @@
 // method id "sql.operations.get":
 
 type OperationsGetCall struct {
-	s            *Service
-	project      string
-	instance     string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	instance  string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves information about a specific operation that was
 // performed on a Cloud SQL instance.
 func (r *OperationsService) Get(project string, instance string, operation string) *OperationsGetCall {
-	c := &OperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3842,13 +3924,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3856,9 +3938,13 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -3866,8 +3952,8 @@
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3954,18 +4040,17 @@
 // method id "sql.operations.list":
 
 type OperationsListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists all operations that have been performed on a Cloud SQL
 // instance.
 func (r *OperationsService) List(project string, instance string) *OperationsListCall {
-	c := &OperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
@@ -3974,7 +4059,7 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of operations per response.
 func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3982,15 +4067,15 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4000,13 +4085,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4014,17 +4099,27 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4119,30 +4214,30 @@
 	project         string
 	instance        string
 	sha1Fingerprint string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes an SSL certificate from a Cloud SQL instance.
 func (r *SslCertsService) Delete(project string, instance string, sha1Fingerprint string) *SslCertsDeleteCall {
-	c := &SslCertsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sha1Fingerprint = sha1Fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsDeleteCall) Fields(s ...googleapi.Field) *SslCertsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsDeleteCall) Context(ctx context.Context) *SslCertsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4150,9 +4245,13 @@
 
 func (c *SslCertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -4249,26 +4348,25 @@
 	project         string
 	instance        string
 	sha1Fingerprint string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Get: Retrieves an SSL certificate as specified by its SHA-1
 // fingerprint.
 func (r *SslCertsService) Get(project string, instance string, sha1Fingerprint string) *SslCertsGetCall {
-	c := &SslCertsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sha1Fingerprint = sha1Fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsGetCall) Fields(s ...googleapi.Field) *SslCertsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4278,13 +4376,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SslCertsGetCall) IfNoneMatch(entityTag string) *SslCertsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsGetCall) Context(ctx context.Context) *SslCertsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4292,9 +4390,13 @@
 
 func (c *SslCertsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -4302,8 +4404,8 @@
 		"sha1Fingerprint": c.sha1Fingerprint,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4394,31 +4496,31 @@
 	project               string
 	instance              string
 	sslcertsinsertrequest *SslCertsInsertRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Insert: Creates an SSL certificate and returns the certificate, the
 // associated private key, and the server certificate authority.
 func (r *SslCertsService) Insert(project string, instance string, sslcertsinsertrequest *SslCertsInsertRequest) *SslCertsInsertCall {
-	c := &SslCertsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sslcertsinsertrequest = sslcertsinsertrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsInsertCall) Fields(s ...googleapi.Field) *SslCertsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsInsertCall) Context(ctx context.Context) *SslCertsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4431,9 +4533,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4522,28 +4628,27 @@
 // method id "sql.sslCerts.list":
 
 type SslCertsListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists all of the current SSL certificates defined for a Cloud
 // SQL instance.
 func (r *SslCertsService) List(project string, instance string) *SslCertsListCall {
-	c := &SslCertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsListCall) Fields(s ...googleapi.Field) *SslCertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4553,13 +4658,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SslCertsListCall) IfNoneMatch(entityTag string) *SslCertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsListCall) Context(ctx context.Context) *SslCertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4567,17 +4672,21 @@
 
 func (c *SslCertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4657,26 +4766,25 @@
 // method id "sql.tiers.list":
 
 type TiersListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists service tiers that can be used to create Google Cloud SQL
 // instances.
 func (r *TiersService) List(project string) *TiersListCall {
-	c := &TiersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TiersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TiersListCall) Fields(s ...googleapi.Field) *TiersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4686,13 +4794,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TiersListCall) IfNoneMatch(entityTag string) *TiersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TiersListCall) Context(ctx context.Context) *TiersListCall {
 	c.ctx_ = ctx
 	return c
@@ -4700,16 +4808,20 @@
 
 func (c *TiersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/tiers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/sqladmin/v1beta4/sqladmin-gen.go b/sqladmin/v1beta4/sqladmin-gen.go
index 6b57f86..a638f72 100644
--- a/sqladmin/v1beta4/sqladmin-gen.go
+++ b/sqladmin/v1beta4/sqladmin-gen.go
@@ -1716,34 +1716,34 @@
 // method id "sql.backupRuns.delete":
 
 type BackupRunsDeleteCall struct {
-	s          *Service
-	project    string
-	instance   string
-	id         int64
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	id       int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes the backup taken by a backup run.
 func (r *BackupRunsService) Delete(project string, instance string, id int64) *BackupRunsDeleteCall {
-	c := &BackupRunsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackupRunsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackupRunsDeleteCall) Fields(s ...googleapi.Field) *BackupRunsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackupRunsDeleteCall) Context(ctx context.Context) *BackupRunsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1751,9 +1751,13 @@
 
 func (c *BackupRunsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/backupRuns/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -1847,29 +1851,28 @@
 // method id "sql.backupRuns.get":
 
 type BackupRunsGetCall struct {
-	s            *Service
-	project      string
-	instance     string
-	id           int64
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	id       int64
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a resource containing information about a backup run.
 func (r *BackupRunsService) Get(project string, instance string, id int64) *BackupRunsGetCall {
-	c := &BackupRunsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackupRunsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackupRunsGetCall) Fields(s ...googleapi.Field) *BackupRunsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1879,13 +1882,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackupRunsGetCall) IfNoneMatch(entityTag string) *BackupRunsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackupRunsGetCall) Context(ctx context.Context) *BackupRunsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1893,9 +1896,13 @@
 
 func (c *BackupRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/backupRuns/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -1903,8 +1910,8 @@
 		"id":       strconv.FormatInt(c.id, 10),
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1992,19 +1999,18 @@
 // method id "sql.backupRuns.list":
 
 type BackupRunsListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists all backup runs associated with a given instance and
 // configuration in the reverse chronological order of the enqueued
 // time.
 func (r *BackupRunsService) List(project string, instance string) *BackupRunsListCall {
-	c := &BackupRunsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BackupRunsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
@@ -2013,7 +2019,7 @@
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of backup runs per response.
 func (c *BackupRunsListCall) MaxResults(maxResults int64) *BackupRunsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2021,15 +2027,15 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *BackupRunsListCall) PageToken(pageToken string) *BackupRunsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BackupRunsListCall) Fields(s ...googleapi.Field) *BackupRunsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2039,13 +2045,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BackupRunsListCall) IfNoneMatch(entityTag string) *BackupRunsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BackupRunsListCall) Context(ctx context.Context) *BackupRunsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2053,17 +2059,27 @@
 
 func (c *BackupRunsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/backupRuns")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2154,35 +2170,35 @@
 // method id "sql.databases.delete":
 
 type DatabasesDeleteCall struct {
-	s          *Service
-	project    string
-	instance   string
-	database   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	database string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a resource containing information about a database
 // inside a Cloud SQL instance.
 func (r *DatabasesService) Delete(project string, instance string, database string) *DatabasesDeleteCall {
-	c := &DatabasesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatabasesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.database = database
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatabasesDeleteCall) Fields(s ...googleapi.Field) *DatabasesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatabasesDeleteCall) Context(ctx context.Context) *DatabasesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2190,9 +2206,13 @@
 
 func (c *DatabasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/databases/{database}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2285,30 +2305,29 @@
 // method id "sql.databases.get":
 
 type DatabasesGetCall struct {
-	s            *Service
-	project      string
-	instance     string
-	database     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	database string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a resource containing information about a database
 // inside a Cloud SQL instance.
 func (r *DatabasesService) Get(project string, instance string, database string) *DatabasesGetCall {
-	c := &DatabasesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatabasesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.database = database
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatabasesGetCall) Fields(s ...googleapi.Field) *DatabasesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2318,13 +2337,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatabasesGetCall) IfNoneMatch(entityTag string) *DatabasesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatabasesGetCall) Context(ctx context.Context) *DatabasesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2332,9 +2351,13 @@
 
 func (c *DatabasesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/databases/{database}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2342,8 +2365,8 @@
 		"database": c.database,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2430,35 +2453,35 @@
 // method id "sql.databases.insert":
 
 type DatabasesInsertCall struct {
-	s          *Service
-	project    string
-	instance   string
-	database   *Database
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	database *Database
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Inserts a resource containing information about a database
 // inside a Cloud SQL instance.
 func (r *DatabasesService) Insert(project string, instance string, database *Database) *DatabasesInsertCall {
-	c := &DatabasesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatabasesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.database = database
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatabasesInsertCall) Fields(s ...googleapi.Field) *DatabasesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatabasesInsertCall) Context(ctx context.Context) *DatabasesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2471,9 +2494,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/databases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2562,27 +2589,26 @@
 // method id "sql.databases.list":
 
 type DatabasesListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists databases in the specified Cloud SQL instance.
 func (r *DatabasesService) List(project string, instance string) *DatabasesListCall {
-	c := &DatabasesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatabasesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatabasesListCall) Fields(s ...googleapi.Field) *DatabasesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2592,13 +2618,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DatabasesListCall) IfNoneMatch(entityTag string) *DatabasesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatabasesListCall) Context(ctx context.Context) *DatabasesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2606,17 +2632,21 @@
 
 func (c *DatabasesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/databases")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2696,19 +2726,19 @@
 // method id "sql.databases.patch":
 
 type DatabasesPatchCall struct {
-	s          *Service
-	project    string
-	instance   string
-	database   string
-	database2  *Database
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	instance  string
+	database  string
+	database2 *Database
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Patch: Updates a resource containing information about a database
 // inside a Cloud SQL instance. This method supports patch semantics.
 func (r *DatabasesService) Patch(project string, instance string, database string, database2 *Database) *DatabasesPatchCall {
-	c := &DatabasesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatabasesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.database = database
@@ -2716,17 +2746,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatabasesPatchCall) Fields(s ...googleapi.Field) *DatabasesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatabasesPatchCall) Context(ctx context.Context) *DatabasesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2739,9 +2769,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/databases/{database}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2838,19 +2872,19 @@
 // method id "sql.databases.update":
 
 type DatabasesUpdateCall struct {
-	s          *Service
-	project    string
-	instance   string
-	database   string
-	database2  *Database
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	instance  string
+	database  string
+	database2 *Database
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a resource containing information about a database
 // inside a Cloud SQL instance.
 func (r *DatabasesService) Update(project string, instance string, database string, database2 *Database) *DatabasesUpdateCall {
-	c := &DatabasesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DatabasesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.database = database
@@ -2858,17 +2892,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DatabasesUpdateCall) Fields(s ...googleapi.Field) *DatabasesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DatabasesUpdateCall) Context(ctx context.Context) *DatabasesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2881,9 +2915,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/databases/{database}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -2980,24 +3018,23 @@
 // method id "sql.flags.list":
 
 type FlagsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List all available database flags for Google Cloud SQL
 // instances.
 func (r *FlagsService) List() *FlagsListCall {
-	c := &FlagsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &FlagsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *FlagsListCall) Fields(s ...googleapi.Field) *FlagsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3007,13 +3044,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *FlagsListCall) IfNoneMatch(entityTag string) *FlagsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *FlagsListCall) Context(ctx context.Context) *FlagsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3021,14 +3058,18 @@
 
 func (c *FlagsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "flags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3094,31 +3135,31 @@
 	project               string
 	instance              string
 	instancesclonerequest *InstancesCloneRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
 // Clone: Creates a Cloud SQL instance as a clone of the source
 // instance.
 func (r *InstancesService) Clone(project string, instance string, instancesclonerequest *InstancesCloneRequest) *InstancesCloneCall {
-	c := &InstancesCloneCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesCloneCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesclonerequest = instancesclonerequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesCloneCall) Fields(s ...googleapi.Field) *InstancesCloneCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesCloneCall) Context(ctx context.Context) *InstancesCloneCall {
 	c.ctx_ = ctx
 	return c
@@ -3131,9 +3172,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/clone")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3222,32 +3267,32 @@
 // method id "sql.instances.delete":
 
 type InstancesDeleteCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a Cloud SQL instance.
 func (r *InstancesService) Delete(project string, instance string) *InstancesDeleteCall {
-	c := &InstancesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3255,9 +3300,13 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3346,31 +3395,31 @@
 	project                string
 	instance               string
 	instancesexportrequest *InstancesExportRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // Export: Exports data from a Cloud SQL instance to a Google Cloud
 // Storage bucket as a MySQL dump file.
 func (r *InstancesService) Export(project string, instance string, instancesexportrequest *InstancesExportRequest) *InstancesExportCall {
-	c := &InstancesExportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesExportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesexportrequest = instancesexportrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesExportCall) Fields(s ...googleapi.Field) *InstancesExportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesExportCall) Context(ctx context.Context) *InstancesExportCall {
 	c.ctx_ = ctx
 	return c
@@ -3383,9 +3432,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/export")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3473,28 +3526,27 @@
 // method id "sql.instances.get":
 
 type InstancesGetCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves a resource containing information about a Cloud SQL
 // instance.
 func (r *InstancesService) Get(project string, instance string) *InstancesGetCall {
-	c := &InstancesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3504,13 +3556,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3518,17 +3570,21 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3612,31 +3668,31 @@
 	project                string
 	instance               string
 	instancesimportrequest *InstancesImportRequest
-	urlParams_             internal.URLParams
+	opt_                   map[string]interface{}
 	ctx_                   context.Context
 }
 
 // Import: Imports data into a Cloud SQL instance from a MySQL dump file
 // in Google Cloud Storage.
 func (r *InstancesService) Import(project string, instance string, instancesimportrequest *InstancesImportRequest) *InstancesImportCall {
-	c := &InstancesImportCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesImportCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesimportrequest = instancesimportrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesImportCall) Fields(s ...googleapi.Field) *InstancesImportCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesImportCall) Context(ctx context.Context) *InstancesImportCall {
 	c.ctx_ = ctx
 	return c
@@ -3649,9 +3705,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/import")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -3742,29 +3802,29 @@
 	s                *Service
 	project          string
 	databaseinstance *DatabaseInstance
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // Insert: Creates a new Cloud SQL instance.
 func (r *InstancesService) Insert(project string, databaseinstance *DatabaseInstance) *InstancesInsertCall {
-	c := &InstancesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.databaseinstance = databaseinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3777,9 +3837,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
@@ -3860,17 +3924,16 @@
 // method id "sql.instances.list":
 
 type InstancesListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists instances under a given project in the alphabetical order
 // of the instance name.
 func (r *InstancesService) List(project string) *InstancesListCall {
-	c := &InstancesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
@@ -3878,7 +3941,7 @@
 // MaxResults sets the optional parameter "maxResults": The maximum
 // number of results to return per response.
 func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -3886,15 +3949,15 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3904,13 +3967,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3918,16 +3981,26 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4015,7 +4088,7 @@
 	project          string
 	instance         string
 	databaseinstance *DatabaseInstance
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -4024,24 +4097,24 @@
 // that you want to retain. For partial updates, use patch.. This method
 // supports patch semantics.
 func (r *InstancesService) Patch(project string, instance string, databaseinstance *DatabaseInstance) *InstancesPatchCall {
-	c := &InstancesPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.databaseinstance = databaseinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesPatchCall) Fields(s ...googleapi.Field) *InstancesPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesPatchCall) Context(ctx context.Context) *InstancesPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4054,9 +4127,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4145,33 +4222,33 @@
 // method id "sql.instances.promoteReplica":
 
 type InstancesPromoteReplicaCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // PromoteReplica: Promotes the read replica instance to be a
 // stand-alone Cloud SQL instance.
 func (r *InstancesService) PromoteReplica(project string, instance string) *InstancesPromoteReplicaCall {
-	c := &InstancesPromoteReplicaCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesPromoteReplicaCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesPromoteReplicaCall) Fields(s ...googleapi.Field) *InstancesPromoteReplicaCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesPromoteReplicaCall) Context(ctx context.Context) *InstancesPromoteReplicaCall {
 	c.ctx_ = ctx
 	return c
@@ -4179,9 +4256,13 @@
 
 func (c *InstancesPromoteReplicaCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/promoteReplica")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4266,11 +4347,11 @@
 // method id "sql.instances.resetSslConfig":
 
 type InstancesResetSslConfigCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // ResetSslConfig: Deletes all client certificates and generates a new
@@ -4279,23 +4360,23 @@
 // server certificate will need to call this once to set a server
 // certificate.
 func (r *InstancesService) ResetSslConfig(project string, instance string) *InstancesResetSslConfigCall {
-	c := &InstancesResetSslConfigCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesResetSslConfigCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesResetSslConfigCall) Fields(s ...googleapi.Field) *InstancesResetSslConfigCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesResetSslConfigCall) Context(ctx context.Context) *InstancesResetSslConfigCall {
 	c.ctx_ = ctx
 	return c
@@ -4303,9 +4384,13 @@
 
 func (c *InstancesResetSslConfigCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/resetSslConfig")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4390,32 +4475,32 @@
 // method id "sql.instances.restart":
 
 type InstancesRestartCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Restart: Restarts a Cloud SQL instance.
 func (r *InstancesService) Restart(project string, instance string) *InstancesRestartCall {
-	c := &InstancesRestartCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesRestartCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesRestartCall) Fields(s ...googleapi.Field) *InstancesRestartCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesRestartCall) Context(ctx context.Context) *InstancesRestartCall {
 	c.ctx_ = ctx
 	return c
@@ -4423,9 +4508,13 @@
 
 func (c *InstancesRestartCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/restart")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4514,30 +4603,30 @@
 	project                       string
 	instance                      string
 	instancesrestorebackuprequest *InstancesRestoreBackupRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // RestoreBackup: Restores a backup of a Cloud SQL instance.
 func (r *InstancesService) RestoreBackup(project string, instance string, instancesrestorebackuprequest *InstancesRestoreBackupRequest) *InstancesRestoreBackupCall {
-	c := &InstancesRestoreBackupCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesRestoreBackupCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.instancesrestorebackuprequest = instancesrestorebackuprequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesRestoreBackupCall) Fields(s ...googleapi.Field) *InstancesRestoreBackupCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesRestoreBackupCall) Context(ctx context.Context) *InstancesRestoreBackupCall {
 	c.ctx_ = ctx
 	return c
@@ -4550,9 +4639,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/restoreBackup")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4641,32 +4734,32 @@
 // method id "sql.instances.startReplica":
 
 type InstancesStartReplicaCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // StartReplica: Starts the replication in the read replica instance.
 func (r *InstancesService) StartReplica(project string, instance string) *InstancesStartReplicaCall {
-	c := &InstancesStartReplicaCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesStartReplicaCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesStartReplicaCall) Fields(s ...googleapi.Field) *InstancesStartReplicaCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesStartReplicaCall) Context(ctx context.Context) *InstancesStartReplicaCall {
 	c.ctx_ = ctx
 	return c
@@ -4674,9 +4767,13 @@
 
 func (c *InstancesStartReplicaCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/startReplica")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4761,32 +4858,32 @@
 // method id "sql.instances.stopReplica":
 
 type InstancesStopReplicaCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // StopReplica: Stops the replication in the read replica instance.
 func (r *InstancesService) StopReplica(project string, instance string) *InstancesStopReplicaCall {
-	c := &InstancesStopReplicaCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesStopReplicaCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesStopReplicaCall) Fields(s ...googleapi.Field) *InstancesStopReplicaCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesStopReplicaCall) Context(ctx context.Context) *InstancesStopReplicaCall {
 	c.ctx_ = ctx
 	return c
@@ -4794,9 +4891,13 @@
 
 func (c *InstancesStopReplicaCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/stopReplica")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -4885,7 +4986,7 @@
 	project          string
 	instance         string
 	databaseinstance *DatabaseInstance
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
@@ -4893,24 +4994,24 @@
 // not a partial update, so you must include values for all the settings
 // that you want to retain. For partial updates, use patch.
 func (r *InstancesService) Update(project string, instance string, databaseinstance *DatabaseInstance) *InstancesUpdateCall {
-	c := &InstancesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &InstancesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.databaseinstance = databaseinstance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *InstancesUpdateCall) Fields(s ...googleapi.Field) *InstancesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *InstancesUpdateCall) Context(ctx context.Context) *InstancesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4923,9 +5024,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -5015,28 +5120,27 @@
 // method id "sql.operations.get":
 
 type OperationsGetCall struct {
-	s            *Service
-	project      string
-	operation    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	operation string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Retrieves an instance operation that has been performed on an
 // instance.
 func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
-	c := &OperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.operation = operation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5046,13 +5150,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5060,17 +5164,21 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/operations/{operation}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"operation": c.operation,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5150,27 +5258,27 @@
 // method id "sql.operations.list":
 
 type OperationsListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists all instance operations that have been performed on the
 // given Cloud SQL instance in the reverse chronological order of the
 // start time.
 func (r *OperationsService) List(project string, instance string) *OperationsListCall {
-	c := &OperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &OperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
-	c.urlParams_.Set("instance", instance)
+	c.instance = instance
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of operations per response.
 func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5178,15 +5286,15 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5196,13 +5304,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5210,16 +5318,27 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("instance", fmt.Sprintf("%v", c.instance))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/operations")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5314,7 +5433,7 @@
 	project                        string
 	instance                       string
 	sslcertscreateephemeralrequest *SslCertsCreateEphemeralRequest
-	urlParams_                     internal.URLParams
+	opt_                           map[string]interface{}
 	ctx_                           context.Context
 }
 
@@ -5323,24 +5442,24 @@
 // target instance. Users may use the certificate to authenticate as
 // themselves when connecting to the database.
 func (r *SslCertsService) CreateEphemeral(project string, instance string, sslcertscreateephemeralrequest *SslCertsCreateEphemeralRequest) *SslCertsCreateEphemeralCall {
-	c := &SslCertsCreateEphemeralCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsCreateEphemeralCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sslcertscreateephemeralrequest = sslcertscreateephemeralrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsCreateEphemeralCall) Fields(s ...googleapi.Field) *SslCertsCreateEphemeralCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsCreateEphemeralCall) Context(ctx context.Context) *SslCertsCreateEphemeralCall {
 	c.ctx_ = ctx
 	return c
@@ -5353,9 +5472,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/createEphemeral")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -5448,31 +5571,31 @@
 	project         string
 	instance        string
 	sha1Fingerprint string
-	urlParams_      internal.URLParams
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
 // Delete: Deletes the SSL certificate. The change will not take effect
 // until the instance is restarted.
 func (r *SslCertsService) Delete(project string, instance string, sha1Fingerprint string) *SslCertsDeleteCall {
-	c := &SslCertsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sha1Fingerprint = sha1Fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsDeleteCall) Fields(s ...googleapi.Field) *SslCertsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsDeleteCall) Context(ctx context.Context) *SslCertsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5480,9 +5603,13 @@
 
 func (c *SslCertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -5579,8 +5706,7 @@
 	project         string
 	instance        string
 	sha1Fingerprint string
-	urlParams_      internal.URLParams
-	ifNoneMatch_    string
+	opt_            map[string]interface{}
 	ctx_            context.Context
 }
 
@@ -5588,18 +5714,18 @@
 // private key (required for usage). The private key must be saved from
 // the response to initial creation.
 func (r *SslCertsService) Get(project string, instance string, sha1Fingerprint string) *SslCertsGetCall {
-	c := &SslCertsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sha1Fingerprint = sha1Fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsGetCall) Fields(s ...googleapi.Field) *SslCertsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5609,13 +5735,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SslCertsGetCall) IfNoneMatch(entityTag string) *SslCertsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsGetCall) Context(ctx context.Context) *SslCertsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5623,9 +5749,13 @@
 
 func (c *SslCertsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":         c.project,
@@ -5633,8 +5763,8 @@
 		"sha1Fingerprint": c.sha1Fingerprint,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5725,7 +5855,7 @@
 	project               string
 	instance              string
 	sslcertsinsertrequest *SslCertsInsertRequest
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	ctx_                  context.Context
 }
 
@@ -5733,24 +5863,24 @@
 // private key and server certificate authority. The new certificate
 // will not be usable until the instance is restarted.
 func (r *SslCertsService) Insert(project string, instance string, sslcertsinsertrequest *SslCertsInsertRequest) *SslCertsInsertCall {
-	c := &SslCertsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.sslcertsinsertrequest = sslcertsinsertrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsInsertCall) Fields(s ...googleapi.Field) *SslCertsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsInsertCall) Context(ctx context.Context) *SslCertsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5763,9 +5893,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -5854,27 +5988,26 @@
 // method id "sql.sslCerts.list":
 
 type SslCertsListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists all of the current SSL certificates for the instance.
 func (r *SslCertsService) List(project string, instance string) *SslCertsListCall {
-	c := &SslCertsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SslCertsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SslCertsListCall) Fields(s ...googleapi.Field) *SslCertsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5884,13 +6017,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SslCertsListCall) IfNoneMatch(entityTag string) *SslCertsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SslCertsListCall) Context(ctx context.Context) *SslCertsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5898,17 +6031,21 @@
 
 func (c *SslCertsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/sslCerts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5988,26 +6125,25 @@
 // method id "sql.tiers.list":
 
 type TiersListCall struct {
-	s            *Service
-	project      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	project string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists all available service tiers for Google Cloud SQL, for
 // example D1, D2. For related information, see Pricing.
 func (r *TiersService) List(project string) *TiersListCall {
-	c := &TiersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TiersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TiersListCall) Fields(s ...googleapi.Field) *TiersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6017,13 +6153,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TiersListCall) IfNoneMatch(entityTag string) *TiersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TiersListCall) Context(ctx context.Context) *TiersListCall {
 	c.ctx_ = ctx
 	return c
@@ -6031,16 +6167,20 @@
 
 func (c *TiersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/tiers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project": c.project,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6113,34 +6253,36 @@
 // method id "sql.users.delete":
 
 type UsersDeleteCall struct {
-	s          *Service
-	project    string
-	instance   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	host     string
+	name     string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a user from a Cloud SQL instance.
 func (r *UsersService) Delete(project string, instance string, host string, name string) *UsersDeleteCall {
-	c := &UsersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
-	c.urlParams_.Set("host", host)
-	c.urlParams_.Set("name", name)
+	c.host = host
+	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6148,9 +6290,15 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("host", fmt.Sprintf("%v", c.host))
+	params.Set("name", fmt.Sprintf("%v", c.name))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -6249,34 +6397,34 @@
 // method id "sql.users.insert":
 
 type UsersInsertCall struct {
-	s          *Service
-	project    string
-	instance   string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	user     *User
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a new user in a Cloud SQL instance.
 func (r *UsersService) Insert(project string, instance string, user *User) *UsersInsertCall {
-	c := &UsersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -6289,9 +6437,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
@@ -6380,27 +6532,26 @@
 // method id "sql.users.list":
 
 type UsersListCall struct {
-	s            *Service
-	project      string
-	instance     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	project  string
+	instance string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists users in the specified Cloud SQL instance.
 func (r *UsersService) List(project string, instance string) *UsersListCall {
-	c := &UsersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6410,13 +6561,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 	c.ctx_ = ctx
 	return c
@@ -6424,17 +6575,21 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
 		"instance": c.instance,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6514,36 +6669,38 @@
 // method id "sql.users.update":
 
 type UsersUpdateCall struct {
-	s          *Service
-	project    string
-	instance   string
-	user       *User
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	project  string
+	instance string
+	host     string
+	name     string
+	user     *User
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Updates an existing user in a Cloud SQL instance.
 func (r *UsersService) Update(project string, instance string, host string, name string, user *User) *UsersUpdateCall {
-	c := &UsersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UsersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.instance = instance
-	c.urlParams_.Set("host", host)
-	c.urlParams_.Set("name", name)
+	c.host = host
+	c.name = name
 	c.user = user
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UsersUpdateCall) Fields(s ...googleapi.Field) *UsersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UsersUpdateCall) Context(ctx context.Context) *UsersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6556,9 +6713,15 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("host", fmt.Sprintf("%v", c.host))
+	params.Set("name", fmt.Sprintf("%v", c.name))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/instances/{instance}/users")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":  c.project,
diff --git a/storage/v1/storage-gen.go b/storage/v1/storage-gen.go
index 97beac7..7155d40 100644
--- a/storage/v1/storage-gen.go
+++ b/storage/v1/storage-gen.go
@@ -1113,33 +1113,33 @@
 // method id "storage.bucketAccessControls.delete":
 
 type BucketAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes the ACL entry for the specified entity on
 // the specified bucket.
 func (r *BucketAccessControlsService) Delete(bucket string, entity string) *BucketAccessControlsDeleteCall {
-	c := &BucketAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsDeleteCall) Fields(s ...googleapi.Field) *BucketAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsDeleteCall) Context(ctx context.Context) *BucketAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1147,9 +1147,13 @@
 
 func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1206,28 +1210,27 @@
 // method id "storage.bucketAccessControls.get":
 
 type BucketAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the ACL entry for the specified entity on the specified
 // bucket.
 func (r *BucketAccessControlsService) Get(bucket string, entity string) *BucketAccessControlsGetCall {
-	c := &BucketAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsGetCall) Fields(s ...googleapi.Field) *BucketAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1237,13 +1240,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketAccessControlsGetCall) IfNoneMatch(entityTag string) *BucketAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsGetCall) Context(ctx context.Context) *BucketAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1251,17 +1254,21 @@
 
 func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1343,29 +1350,29 @@
 	s                   *Service
 	bucket              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new ACL entry on the specified bucket.
 func (r *BucketAccessControlsService) Insert(bucket string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsInsertCall {
-	c := &BucketAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsInsertCall) Fields(s ...googleapi.Field) *BucketAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsInsertCall) Context(ctx context.Context) *BucketAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1378,9 +1385,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1460,25 +1471,24 @@
 // method id "storage.bucketAccessControls.list":
 
 type BucketAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves ACL entries on the specified bucket.
 func (r *BucketAccessControlsService) List(bucket string) *BucketAccessControlsListCall {
-	c := &BucketAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsListCall) Fields(s ...googleapi.Field) *BucketAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1488,13 +1498,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketAccessControlsListCall) IfNoneMatch(entityTag string) *BucketAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsListCall) Context(ctx context.Context) *BucketAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1502,16 +1512,20 @@
 
 func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1587,31 +1601,31 @@
 	bucket              string
 	entity              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates an ACL entry on the specified bucket. This method
 // supports patch semantics.
 func (r *BucketAccessControlsService) Patch(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsPatchCall {
-	c := &BucketAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsPatchCall) Fields(s ...googleapi.Field) *BucketAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsPatchCall) Context(ctx context.Context) *BucketAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1624,9 +1638,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1718,30 +1736,30 @@
 	bucket              string
 	entity              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates an ACL entry on the specified bucket.
 func (r *BucketAccessControlsService) Update(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsUpdateCall {
-	c := &BucketAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsUpdateCall) Fields(s ...googleapi.Field) *BucketAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsUpdateCall) Context(ctx context.Context) *BucketAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1754,9 +1772,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1844,15 +1866,15 @@
 // method id "storage.buckets.delete":
 
 type BucketsDeleteCall struct {
-	s          *Service
-	bucket     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes an empty bucket.
 func (r *BucketsService) Delete(bucket string) *BucketsDeleteCall {
-	c := &BucketsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -1861,7 +1883,7 @@
 // "ifMetagenerationMatch": If set, only deletes the bucket if its
 // metageneration matches this value.
 func (c *BucketsDeleteCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -1869,21 +1891,21 @@
 // "ifMetagenerationNotMatch": If set, only deletes the bucket if its
 // metageneration does not match this value.
 func (c *BucketsDeleteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsDeleteCall) Fields(s ...googleapi.Field) *BucketsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsDeleteCall) Context(ctx context.Context) *BucketsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1891,9 +1913,19 @@
 
 func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1956,16 +1988,15 @@
 // method id "storage.buckets.get":
 
 type BucketsGetCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns metadata for the specified bucket.
 func (r *BucketsService) Get(bucket string) *BucketsGetCall {
-	c := &BucketsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -1975,7 +2006,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsGetCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsGetCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -1984,7 +2015,7 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsGetCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsGetCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -1995,15 +2026,15 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsGetCall) Projection(projection string) *BucketsGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsGetCall) Fields(s ...googleapi.Field) *BucketsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2013,13 +2044,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketsGetCall) IfNoneMatch(entityTag string) *BucketsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsGetCall) Context(ctx context.Context) *BucketsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2027,16 +2058,29 @@
 
 func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2137,16 +2181,17 @@
 // method id "storage.buckets.insert":
 
 type BucketsInsertCall struct {
-	s          *Service
-	bucket     *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectid string
+	bucket    *Bucket
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a new bucket.
 func (r *BucketsService) Insert(projectid string, bucket *Bucket) *BucketsInsertCall {
-	c := &BucketsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectid", projectid)
+	c := &BucketsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectid = projectid
 	c.bucket = bucket
 	return c
 }
@@ -2165,7 +2210,7 @@
 //   "publicReadWrite" - Project team owners get OWNER access, and
 // allUsers get WRITER access.
 func (c *BucketsInsertCall) PredefinedAcl(predefinedAcl string) *BucketsInsertCall {
-	c.urlParams_.Set("predefinedAcl", predefinedAcl)
+	c.opt_["predefinedAcl"] = predefinedAcl
 	return c
 }
 
@@ -2186,7 +2231,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *BucketsInsertCall) PredefinedDefaultObjectAcl(predefinedDefaultObjectAcl string) *BucketsInsertCall {
-	c.urlParams_.Set("predefinedDefaultObjectAcl", predefinedDefaultObjectAcl)
+	c.opt_["predefinedDefaultObjectAcl"] = predefinedDefaultObjectAcl
 	return c
 }
 
@@ -2199,21 +2244,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsInsertCall) Projection(projection string) *BucketsInsertCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsInsertCall) Fields(s ...googleapi.Field) *BucketsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsInsertCall) Context(ctx context.Context) *BucketsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2226,9 +2271,23 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("project", fmt.Sprintf("%v", c.projectid))
+	if v, ok := c.opt_["predefinedAcl"]; ok {
+		params.Set("predefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedDefaultObjectAcl"]; ok {
+		params.Set("predefinedDefaultObjectAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2361,23 +2420,23 @@
 // method id "storage.buckets.list":
 
 type BucketsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectid string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of buckets for a given project.
 func (r *BucketsService) List(projectid string) *BucketsListCall {
-	c := &BucketsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectid", projectid)
+	c := &BucketsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectid = projectid
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of buckets to return.
 func (c *BucketsListCall) MaxResults(maxResults int64) *BucketsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2385,14 +2444,14 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *BucketsListCall) PageToken(pageToken string) *BucketsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Prefix sets the optional parameter "prefix": Filter results to
 // buckets whose names begin with this prefix.
 func (c *BucketsListCall) Prefix(prefix string) *BucketsListCall {
-	c.urlParams_.Set("prefix", prefix)
+	c.opt_["prefix"] = prefix
 	return c
 }
 
@@ -2403,15 +2462,15 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsListCall) Projection(projection string) *BucketsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsListCall) Fields(s ...googleapi.Field) *BucketsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2421,13 +2480,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketsListCall) IfNoneMatch(entityTag string) *BucketsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsListCall) Context(ctx context.Context) *BucketsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2435,14 +2494,31 @@
 
 func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("project", fmt.Sprintf("%v", c.projectid))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefix"]; ok {
+		params.Set("prefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2548,16 +2624,16 @@
 // method id "storage.buckets.patch":
 
 type BucketsPatchCall struct {
-	s          *Service
-	bucket     string
-	bucket2    *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	bucket2 *Bucket
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates a bucket. This method supports patch semantics.
 func (r *BucketsService) Patch(bucket string, bucket2 *Bucket) *BucketsPatchCall {
-	c := &BucketsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucket2 = bucket2
 	return c
@@ -2568,7 +2644,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsPatchCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsPatchCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -2577,7 +2653,7 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsPatchCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsPatchCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -2595,7 +2671,7 @@
 //   "publicReadWrite" - Project team owners get OWNER access, and
 // allUsers get WRITER access.
 func (c *BucketsPatchCall) PredefinedAcl(predefinedAcl string) *BucketsPatchCall {
-	c.urlParams_.Set("predefinedAcl", predefinedAcl)
+	c.opt_["predefinedAcl"] = predefinedAcl
 	return c
 }
 
@@ -2616,7 +2692,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *BucketsPatchCall) PredefinedDefaultObjectAcl(predefinedDefaultObjectAcl string) *BucketsPatchCall {
-	c.urlParams_.Set("predefinedDefaultObjectAcl", predefinedDefaultObjectAcl)
+	c.opt_["predefinedDefaultObjectAcl"] = predefinedDefaultObjectAcl
 	return c
 }
 
@@ -2627,21 +2703,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsPatchCall) Projection(projection string) *BucketsPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsPatchCall) Fields(s ...googleapi.Field) *BucketsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsPatchCall) Context(ctx context.Context) *BucketsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2654,9 +2730,28 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedAcl"]; ok {
+		params.Set("predefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedDefaultObjectAcl"]; ok {
+		params.Set("predefinedDefaultObjectAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2803,16 +2898,16 @@
 // method id "storage.buckets.update":
 
 type BucketsUpdateCall struct {
-	s          *Service
-	bucket     string
-	bucket2    *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	bucket2 *Bucket
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a bucket.
 func (r *BucketsService) Update(bucket string, bucket2 *Bucket) *BucketsUpdateCall {
-	c := &BucketsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucket2 = bucket2
 	return c
@@ -2823,7 +2918,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsUpdateCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *BucketsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -2832,7 +2927,7 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsUpdateCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *BucketsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -2850,7 +2945,7 @@
 //   "publicReadWrite" - Project team owners get OWNER access, and
 // allUsers get WRITER access.
 func (c *BucketsUpdateCall) PredefinedAcl(predefinedAcl string) *BucketsUpdateCall {
-	c.urlParams_.Set("predefinedAcl", predefinedAcl)
+	c.opt_["predefinedAcl"] = predefinedAcl
 	return c
 }
 
@@ -2871,7 +2966,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *BucketsUpdateCall) PredefinedDefaultObjectAcl(predefinedDefaultObjectAcl string) *BucketsUpdateCall {
-	c.urlParams_.Set("predefinedDefaultObjectAcl", predefinedDefaultObjectAcl)
+	c.opt_["predefinedDefaultObjectAcl"] = predefinedDefaultObjectAcl
 	return c
 }
 
@@ -2882,21 +2977,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsUpdateCall) Projection(projection string) *BucketsUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsUpdateCall) Fields(s ...googleapi.Field) *BucketsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsUpdateCall) Context(ctx context.Context) *BucketsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2909,9 +3004,28 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedAcl"]; ok {
+		params.Set("predefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedDefaultObjectAcl"]; ok {
+		params.Set("predefinedDefaultObjectAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3058,30 +3172,30 @@
 // method id "storage.channels.stop":
 
 type ChannelsStopCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Stop: Stop watching resources through this channel
 func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
-	c := &ChannelsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -3094,9 +3208,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channels/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -3141,33 +3259,33 @@
 // method id "storage.defaultObjectAccessControls.delete":
 
 type DefaultObjectAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes the default object ACL entry for the
 // specified entity on the specified bucket.
 func (r *DefaultObjectAccessControlsService) Delete(bucket string, entity string) *DefaultObjectAccessControlsDeleteCall {
-	c := &DefaultObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsDeleteCall) Context(ctx context.Context) *DefaultObjectAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3175,9 +3293,13 @@
 
 func (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3234,28 +3356,27 @@
 // method id "storage.defaultObjectAccessControls.get":
 
 type DefaultObjectAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the default object ACL entry for the specified entity on
 // the specified bucket.
 func (r *DefaultObjectAccessControlsService) Get(bucket string, entity string) *DefaultObjectAccessControlsGetCall {
-	c := &DefaultObjectAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3265,13 +3386,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DefaultObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *DefaultObjectAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsGetCall) Context(ctx context.Context) *DefaultObjectAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3279,17 +3400,21 @@
 
 func (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3371,30 +3496,30 @@
 	s                   *Service
 	bucket              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new default object ACL entry on the specified
 // bucket.
 func (r *DefaultObjectAccessControlsService) Insert(bucket string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsInsertCall {
-	c := &DefaultObjectAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsInsertCall) Context(ctx context.Context) *DefaultObjectAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3407,9 +3532,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3489,16 +3618,15 @@
 // method id "storage.defaultObjectAccessControls.list":
 
 type DefaultObjectAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves default object ACL entries on the specified bucket.
 func (r *DefaultObjectAccessControlsService) List(bucket string) *DefaultObjectAccessControlsListCall {
-	c := &DefaultObjectAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -3507,7 +3635,7 @@
 // "ifMetagenerationMatch": If present, only return default ACL listing
 // if the bucket's current metageneration matches this value.
 func (c *DefaultObjectAccessControlsListCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *DefaultObjectAccessControlsListCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -3516,15 +3644,15 @@
 // listing if the bucket's current metageneration does not match the
 // given value.
 func (c *DefaultObjectAccessControlsListCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *DefaultObjectAccessControlsListCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsListCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3534,13 +3662,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DefaultObjectAccessControlsListCall) IfNoneMatch(entityTag string) *DefaultObjectAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsListCall) Context(ctx context.Context) *DefaultObjectAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3548,16 +3676,26 @@
 
 func (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3645,31 +3783,31 @@
 	bucket              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates a default object ACL entry on the specified bucket.
 // This method supports patch semantics.
 func (r *DefaultObjectAccessControlsService) Patch(bucket string, entity string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsPatchCall {
-	c := &DefaultObjectAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsPatchCall) Context(ctx context.Context) *DefaultObjectAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3682,9 +3820,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3776,30 +3918,30 @@
 	bucket              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates a default object ACL entry on the specified bucket.
 func (r *DefaultObjectAccessControlsService) Update(bucket string, entity string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsUpdateCall {
-	c := &DefaultObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsUpdateCall) Context(ctx context.Context) *DefaultObjectAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3812,9 +3954,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3902,18 +4048,18 @@
 // method id "storage.objectAccessControls.delete":
 
 type ObjectAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	object string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes the ACL entry for the specified entity on
 // the specified object.
 func (r *ObjectAccessControlsService) Delete(bucket string, object string, entity string) *ObjectAccessControlsDeleteCall {
-	c := &ObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -3924,21 +4070,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsDeleteCall) Generation(generation int64) *ObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *ObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsDeleteCall) Context(ctx context.Context) *ObjectAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3946,9 +4092,16 @@
 
 func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4019,19 +4172,18 @@
 // method id "storage.objectAccessControls.get":
 
 type ObjectAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the ACL entry for the specified entity on the specified
 // object.
 func (r *ObjectAccessControlsService) Get(bucket string, object string, entity string) *ObjectAccessControlsGetCall {
-	c := &ObjectAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -4042,15 +4194,15 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsGetCall) Generation(generation int64) *ObjectAccessControlsGetCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *ObjectAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4060,13 +4212,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *ObjectAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsGetCall) Context(ctx context.Context) *ObjectAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4074,9 +4226,16 @@
 
 func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4084,8 +4243,8 @@
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4181,13 +4340,13 @@
 	bucket              string
 	object              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new ACL entry on the specified object.
 func (r *ObjectAccessControlsService) Insert(bucket string, object string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsInsertCall {
-	c := &ObjectAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.objectaccesscontrol = objectaccesscontrol
@@ -4198,21 +4357,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsInsertCall) Generation(generation int64) *ObjectAccessControlsInsertCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *ObjectAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsInsertCall) Context(ctx context.Context) *ObjectAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -4225,9 +4384,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4321,17 +4487,16 @@
 // method id "storage.objectAccessControls.list":
 
 type ObjectAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves ACL entries on the specified object.
 func (r *ObjectAccessControlsService) List(bucket string, object string) *ObjectAccessControlsListCall {
-	c := &ObjectAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -4341,15 +4506,15 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsListCall) Generation(generation int64) *ObjectAccessControlsListCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsListCall) Fields(s ...googleapi.Field) *ObjectAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4359,13 +4524,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectAccessControlsListCall) IfNoneMatch(entityTag string) *ObjectAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsListCall) Context(ctx context.Context) *ObjectAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -4373,17 +4538,24 @@
 
 func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"object": c.object,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4473,14 +4645,14 @@
 	object              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates an ACL entry on the specified object. This method
 // supports patch semantics.
 func (r *ObjectAccessControlsService) Patch(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsPatchCall {
-	c := &ObjectAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -4492,21 +4664,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsPatchCall) Generation(generation int64) *ObjectAccessControlsPatchCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *ObjectAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsPatchCall) Context(ctx context.Context) *ObjectAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4519,9 +4691,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4628,13 +4807,13 @@
 	object              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates an ACL entry on the specified object.
 func (r *ObjectAccessControlsService) Update(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsUpdateCall {
-	c := &ObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -4646,21 +4825,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsUpdateCall) Generation(generation int64) *ObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *ObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsUpdateCall) Context(ctx context.Context) *ObjectAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4673,9 +4852,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4781,14 +4967,14 @@
 	destinationBucket string
 	destinationObject string
 	composerequest    *ComposeRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Compose: Concatenates a list of existing objects into a new object in
 // the same bucket.
 func (r *ObjectsService) Compose(destinationBucket string, destinationObject string, composerequest *ComposeRequest) *ObjectsComposeCall {
-	c := &ObjectsComposeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsComposeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.destinationBucket = destinationBucket
 	c.destinationObject = destinationObject
 	c.composerequest = composerequest
@@ -4812,7 +4998,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *ObjectsComposeCall) DestinationPredefinedAcl(destinationPredefinedAcl string) *ObjectsComposeCall {
-	c.urlParams_.Set("destinationPredefinedAcl", destinationPredefinedAcl)
+	c.opt_["destinationPredefinedAcl"] = destinationPredefinedAcl
 	return c
 }
 
@@ -4820,7 +5006,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsComposeCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsComposeCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -4828,21 +5014,21 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsComposeCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsComposeCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsComposeCall) Fields(s ...googleapi.Field) *ObjectsComposeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsComposeCall) Context(ctx context.Context) *ObjectsComposeCall {
 	c.ctx_ = ctx
 	return c
@@ -4855,9 +5041,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["destinationPredefinedAcl"]; ok {
+		params.Set("destinationPredefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{destinationBucket}/o/{destinationObject}/compose")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"destinationBucket": c.destinationBucket,
@@ -5002,14 +5201,14 @@
 	destinationBucket string
 	destinationObject string
 	object            *Object
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Copy: Copies a source object to a destination object. Optionally
 // overrides metadata.
 func (r *ObjectsService) Copy(sourceBucket string, sourceObject string, destinationBucket string, destinationObject string, object *Object) *ObjectsCopyCall {
-	c := &ObjectsCopyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsCopyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.sourceBucket = sourceBucket
 	c.sourceObject = sourceObject
 	c.destinationBucket = destinationBucket
@@ -5035,7 +5234,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *ObjectsCopyCall) DestinationPredefinedAcl(destinationPredefinedAcl string) *ObjectsCopyCall {
-	c.urlParams_.Set("destinationPredefinedAcl", destinationPredefinedAcl)
+	c.opt_["destinationPredefinedAcl"] = destinationPredefinedAcl
 	return c
 }
 
@@ -5043,7 +5242,7 @@
 // Makes the operation conditional on whether the destination object's
 // current generation matches the given value.
 func (c *ObjectsCopyCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5052,7 +5251,7 @@
 // the destination object's current generation does not match the given
 // value.
 func (c *ObjectsCopyCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5061,7 +5260,7 @@
 // the destination object's current metageneration matches the given
 // value.
 func (c *ObjectsCopyCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5070,7 +5269,7 @@
 // whether the destination object's current metageneration does not
 // match the given value.
 func (c *ObjectsCopyCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -5078,7 +5277,7 @@
 // "ifSourceGenerationMatch": Makes the operation conditional on whether
 // the source object's generation matches the given value.
 func (c *ObjectsCopyCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceGenerationMatch", fmt.Sprintf("%v", ifSourceGenerationMatch))
+	c.opt_["ifSourceGenerationMatch"] = ifSourceGenerationMatch
 	return c
 }
 
@@ -5087,7 +5286,7 @@
 // whether the source object's generation does not match the given
 // value.
 func (c *ObjectsCopyCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceGenerationNotMatch", fmt.Sprintf("%v", ifSourceGenerationNotMatch))
+	c.opt_["ifSourceGenerationNotMatch"] = ifSourceGenerationNotMatch
 	return c
 }
 
@@ -5096,7 +5295,7 @@
 // whether the source object's current metageneration matches the given
 // value.
 func (c *ObjectsCopyCall) IfSourceMetagenerationMatch(ifSourceMetagenerationMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceMetagenerationMatch", fmt.Sprintf("%v", ifSourceMetagenerationMatch))
+	c.opt_["ifSourceMetagenerationMatch"] = ifSourceMetagenerationMatch
 	return c
 }
 
@@ -5105,7 +5304,7 @@
 // whether the source object's current metageneration does not match the
 // given value.
 func (c *ObjectsCopyCall) IfSourceMetagenerationNotMatch(ifSourceMetagenerationNotMatch int64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceMetagenerationNotMatch", fmt.Sprintf("%v", ifSourceMetagenerationNotMatch))
+	c.opt_["ifSourceMetagenerationNotMatch"] = ifSourceMetagenerationNotMatch
 	return c
 }
 
@@ -5117,7 +5316,7 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsCopyCall) Projection(projection string) *ObjectsCopyCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -5125,21 +5324,21 @@
 // present, selects a specific revision of the source object (as opposed
 // to the latest version, the default).
 func (c *ObjectsCopyCall) SourceGeneration(sourceGeneration int64) *ObjectsCopyCall {
-	c.urlParams_.Set("sourceGeneration", fmt.Sprintf("%v", sourceGeneration))
+	c.opt_["sourceGeneration"] = sourceGeneration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsCopyCall) Fields(s ...googleapi.Field) *ObjectsCopyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsCopyCall) Context(ctx context.Context) *ObjectsCopyCall {
 	c.ctx_ = ctx
 	return c
@@ -5152,9 +5351,46 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["destinationPredefinedAcl"]; ok {
+		params.Set("destinationPredefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceGenerationMatch"]; ok {
+		params.Set("ifSourceGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceGenerationNotMatch"]; ok {
+		params.Set("ifSourceGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceMetagenerationMatch"]; ok {
+		params.Set("ifSourceMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceMetagenerationNotMatch"]; ok {
+		params.Set("ifSourceMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sourceGeneration"]; ok {
+		params.Set("sourceGeneration", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"sourceBucket":      c.sourceBucket,
@@ -5364,18 +5600,18 @@
 // method id "storage.objects.delete":
 
 type ObjectsDeleteCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Deletes an object and its metadata. Deletions are permanent
 // if versioning is not enabled for the bucket, or if the generation
 // parameter is used.
 func (r *ObjectsService) Delete(bucket string, object string) *ObjectsDeleteCall {
-	c := &ObjectsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -5385,7 +5621,7 @@
 // permanently deletes a specific revision of this object (as opposed to
 // the latest version, the default).
 func (c *ObjectsDeleteCall) Generation(generation int64) *ObjectsDeleteCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -5393,7 +5629,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsDeleteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5401,7 +5637,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsDeleteCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5409,7 +5645,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsDeleteCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5418,21 +5654,21 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsDeleteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsDeleteCall) Fields(s ...googleapi.Field) *ObjectsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsDeleteCall) Context(ctx context.Context) *ObjectsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5440,9 +5676,28 @@
 
 func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -5531,17 +5786,16 @@
 // method id "storage.objects.get":
 
 type ObjectsGetCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves an object or its metadata.
 func (r *ObjectsService) Get(bucket string, object string) *ObjectsGetCall {
-	c := &ObjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -5551,7 +5805,7 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectsGetCall) Generation(generation int64) *ObjectsGetCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -5559,7 +5813,7 @@
 // Makes the operation conditional on whether the object's generation
 // matches the given value.
 func (c *ObjectsGetCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsGetCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5567,7 +5821,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's generation does not match the given value.
 func (c *ObjectsGetCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsGetCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5575,7 +5829,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsGetCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsGetCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5584,7 +5838,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsGetCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsGetCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -5595,15 +5849,15 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsGetCall) Projection(projection string) *ObjectsGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsGetCall) Fields(s ...googleapi.Field) *ObjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5613,13 +5867,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectsGetCall) IfNoneMatch(entityTag string) *ObjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsGetCall) Context(ctx context.Context) *ObjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5627,17 +5881,39 @@
 
 func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"object": c.object,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5779,21 +6055,20 @@
 // method id "storage.objects.insert":
 
 type ObjectsInsertCall struct {
-	s                *Service
-	bucket           string
-	object           *Object
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	bucket     string
+	object     *Object
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Stores a new object and metadata.
 func (r *ObjectsService) Insert(bucket string, object *Object) *ObjectsInsertCall {
-	c := &ObjectsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -5806,7 +6081,7 @@
 // an object with uploadType=media to indicate the encoding of the
 // content being uploaded.
 func (c *ObjectsInsertCall) ContentEncoding(contentEncoding string) *ObjectsInsertCall {
-	c.urlParams_.Set("contentEncoding", contentEncoding)
+	c.opt_["contentEncoding"] = contentEncoding
 	return c
 }
 
@@ -5814,7 +6089,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsInsertCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5822,7 +6097,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsInsertCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5830,7 +6105,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsInsertCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5839,7 +6114,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsInsertCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -5848,7 +6123,7 @@
 // object metadata's name value, if any. For information about how to
 // URL encode object names to be path safe, see Encoding URI Path Parts.
 func (c *ObjectsInsertCall) Name(name string) *ObjectsInsertCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
@@ -5868,7 +6143,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *ObjectsInsertCall) PredefinedAcl(predefinedAcl string) *ObjectsInsertCall {
-	c.urlParams_.Set("predefinedAcl", predefinedAcl)
+	c.opt_["predefinedAcl"] = predefinedAcl
 	return c
 }
 
@@ -5880,24 +6155,24 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsInsertCall) Projection(projection string) *ObjectsInsertCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ObjectsInsertCall) Media(r io.Reader) *ObjectsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -5906,28 +6181,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsInsertCall) Fields(s ...googleapi.Field) *ObjectsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ObjectsInsertCall) Context(ctx context.Context) *ObjectsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5940,13 +6214,41 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["contentEncoding"]; ok {
+		params.Set("contentEncoding", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedAcl"]; ok {
+		params.Set("predefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -5999,6 +6301,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -6008,7 +6316,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -6145,16 +6453,15 @@
 // method id "storage.objects.list":
 
 type ObjectsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of objects matching the criteria.
 func (r *ObjectsService) List(bucket string) *ObjectsListCall {
-	c := &ObjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -6166,7 +6473,7 @@
 // truncated after the delimiter, returned in prefixes. Duplicate
 // prefixes are omitted.
 func (c *ObjectsListCall) Delimiter(delimiter string) *ObjectsListCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -6175,7 +6482,7 @@
 // fewer total results may be returned than requested. The default value
 // of this parameter is 1,000 items.
 func (c *ObjectsListCall) MaxResults(maxResults int64) *ObjectsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6183,14 +6490,14 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *ObjectsListCall) PageToken(pageToken string) *ObjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Prefix sets the optional parameter "prefix": Filter results to
 // objects whose names begin with this prefix.
 func (c *ObjectsListCall) Prefix(prefix string) *ObjectsListCall {
-	c.urlParams_.Set("prefix", prefix)
+	c.opt_["prefix"] = prefix
 	return c
 }
 
@@ -6201,7 +6508,7 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsListCall) Projection(projection string) *ObjectsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -6209,15 +6516,15 @@
 // versions of an object as distinct results. The default is false. For
 // more information, see Object Versioning.
 func (c *ObjectsListCall) Versions(versions bool) *ObjectsListCall {
-	c.urlParams_.Set("versions", fmt.Sprintf("%v", versions))
+	c.opt_["versions"] = versions
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsListCall) Fields(s ...googleapi.Field) *ObjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6227,13 +6534,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectsListCall) IfNoneMatch(entityTag string) *ObjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsListCall) Context(ctx context.Context) *ObjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -6241,16 +6548,38 @@
 
 func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefix"]; ok {
+		params.Set("prefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["versions"]; ok {
+		params.Set("versions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6367,18 +6696,18 @@
 // method id "storage.objects.patch":
 
 type ObjectsPatchCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	object2    *Object
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	object  string
+	object2 *Object
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates an object's metadata. This method supports patch
 // semantics.
 func (r *ObjectsService) Patch(bucket string, object string, object2 *Object) *ObjectsPatchCall {
-	c := &ObjectsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.object2 = object2
@@ -6389,7 +6718,7 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectsPatchCall) Generation(generation int64) *ObjectsPatchCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -6397,7 +6726,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsPatchCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -6405,7 +6734,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsPatchCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -6413,7 +6742,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsPatchCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -6422,7 +6751,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsPatchCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -6442,7 +6771,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *ObjectsPatchCall) PredefinedAcl(predefinedAcl string) *ObjectsPatchCall {
-	c.urlParams_.Set("predefinedAcl", predefinedAcl)
+	c.opt_["predefinedAcl"] = predefinedAcl
 	return c
 }
 
@@ -6453,21 +6782,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsPatchCall) Projection(projection string) *ObjectsPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsPatchCall) Fields(s ...googleapi.Field) *ObjectsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsPatchCall) Context(ctx context.Context) *ObjectsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -6480,9 +6809,34 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedAcl"]; ok {
+		params.Set("predefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -6642,14 +6996,14 @@
 	destinationBucket string
 	destinationObject string
 	object            *Object
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Rewrite: Rewrites a source object to a destination object. Optionally
 // overrides metadata.
 func (r *ObjectsService) Rewrite(sourceBucket string, sourceObject string, destinationBucket string, destinationObject string, object *Object) *ObjectsRewriteCall {
-	c := &ObjectsRewriteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsRewriteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.sourceBucket = sourceBucket
 	c.sourceObject = sourceObject
 	c.destinationBucket = destinationBucket
@@ -6675,7 +7029,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *ObjectsRewriteCall) DestinationPredefinedAcl(destinationPredefinedAcl string) *ObjectsRewriteCall {
-	c.urlParams_.Set("destinationPredefinedAcl", destinationPredefinedAcl)
+	c.opt_["destinationPredefinedAcl"] = destinationPredefinedAcl
 	return c
 }
 
@@ -6683,7 +7037,7 @@
 // Makes the operation conditional on whether the destination object's
 // current generation matches the given value.
 func (c *ObjectsRewriteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -6692,7 +7046,7 @@
 // the destination object's current generation does not match the given
 // value.
 func (c *ObjectsRewriteCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -6701,7 +7055,7 @@
 // the destination object's current metageneration matches the given
 // value.
 func (c *ObjectsRewriteCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -6710,7 +7064,7 @@
 // whether the destination object's current metageneration does not
 // match the given value.
 func (c *ObjectsRewriteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -6718,7 +7072,7 @@
 // "ifSourceGenerationMatch": Makes the operation conditional on whether
 // the source object's generation matches the given value.
 func (c *ObjectsRewriteCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifSourceGenerationMatch", fmt.Sprintf("%v", ifSourceGenerationMatch))
+	c.opt_["ifSourceGenerationMatch"] = ifSourceGenerationMatch
 	return c
 }
 
@@ -6727,7 +7081,7 @@
 // whether the source object's generation does not match the given
 // value.
 func (c *ObjectsRewriteCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifSourceGenerationNotMatch", fmt.Sprintf("%v", ifSourceGenerationNotMatch))
+	c.opt_["ifSourceGenerationNotMatch"] = ifSourceGenerationNotMatch
 	return c
 }
 
@@ -6736,7 +7090,7 @@
 // whether the source object's current metageneration matches the given
 // value.
 func (c *ObjectsRewriteCall) IfSourceMetagenerationMatch(ifSourceMetagenerationMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifSourceMetagenerationMatch", fmt.Sprintf("%v", ifSourceMetagenerationMatch))
+	c.opt_["ifSourceMetagenerationMatch"] = ifSourceMetagenerationMatch
 	return c
 }
 
@@ -6745,7 +7099,7 @@
 // whether the source object's current metageneration does not match the
 // given value.
 func (c *ObjectsRewriteCall) IfSourceMetagenerationNotMatch(ifSourceMetagenerationNotMatch int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("ifSourceMetagenerationNotMatch", fmt.Sprintf("%v", ifSourceMetagenerationNotMatch))
+	c.opt_["ifSourceMetagenerationNotMatch"] = ifSourceMetagenerationNotMatch
 	return c
 }
 
@@ -6759,7 +7113,7 @@
 // change across rewrite calls else you'll get an error that the
 // rewriteToken is invalid.
 func (c *ObjectsRewriteCall) MaxBytesRewrittenPerCall(maxBytesRewrittenPerCall int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("maxBytesRewrittenPerCall", fmt.Sprintf("%v", maxBytesRewrittenPerCall))
+	c.opt_["maxBytesRewrittenPerCall"] = maxBytesRewrittenPerCall
 	return c
 }
 
@@ -6771,7 +7125,7 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsRewriteCall) Projection(projection string) *ObjectsRewriteCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -6782,7 +7136,7 @@
 // but if included those fields must match the values provided in the
 // first rewrite request.
 func (c *ObjectsRewriteCall) RewriteToken(rewriteToken string) *ObjectsRewriteCall {
-	c.urlParams_.Set("rewriteToken", rewriteToken)
+	c.opt_["rewriteToken"] = rewriteToken
 	return c
 }
 
@@ -6790,21 +7144,21 @@
 // present, selects a specific revision of the source object (as opposed
 // to the latest version, the default).
 func (c *ObjectsRewriteCall) SourceGeneration(sourceGeneration int64) *ObjectsRewriteCall {
-	c.urlParams_.Set("sourceGeneration", fmt.Sprintf("%v", sourceGeneration))
+	c.opt_["sourceGeneration"] = sourceGeneration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsRewriteCall) Fields(s ...googleapi.Field) *ObjectsRewriteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsRewriteCall) Context(ctx context.Context) *ObjectsRewriteCall {
 	c.ctx_ = ctx
 	return c
@@ -6817,9 +7171,52 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["destinationPredefinedAcl"]; ok {
+		params.Set("destinationPredefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceGenerationMatch"]; ok {
+		params.Set("ifSourceGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceGenerationNotMatch"]; ok {
+		params.Set("ifSourceGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceMetagenerationMatch"]; ok {
+		params.Set("ifSourceMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceMetagenerationNotMatch"]; ok {
+		params.Set("ifSourceMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxBytesRewrittenPerCall"]; ok {
+		params.Set("maxBytesRewrittenPerCall", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["rewriteToken"]; ok {
+		params.Set("rewriteToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sourceGeneration"]; ok {
+		params.Set("sourceGeneration", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{sourceBucket}/o/{sourceObject}/rewriteTo/b/{destinationBucket}/o/{destinationObject}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"sourceBucket":      c.sourceBucket,
@@ -7024,17 +7421,17 @@
 // method id "storage.objects.update":
 
 type ObjectsUpdateCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	object2    *Object
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	object  string
+	object2 *Object
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates an object's metadata.
 func (r *ObjectsService) Update(bucket string, object string, object2 *Object) *ObjectsUpdateCall {
-	c := &ObjectsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.object2 = object2
@@ -7045,7 +7442,7 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectsUpdateCall) Generation(generation int64) *ObjectsUpdateCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -7053,7 +7450,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsUpdateCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -7061,7 +7458,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsUpdateCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -7069,7 +7466,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsUpdateCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -7078,7 +7475,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsUpdateCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -7098,7 +7495,7 @@
 //   "publicRead" - Object owner gets OWNER access, and allUsers get
 // READER access.
 func (c *ObjectsUpdateCall) PredefinedAcl(predefinedAcl string) *ObjectsUpdateCall {
-	c.urlParams_.Set("predefinedAcl", predefinedAcl)
+	c.opt_["predefinedAcl"] = predefinedAcl
 	return c
 }
 
@@ -7109,21 +7506,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsUpdateCall) Projection(projection string) *ObjectsUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsUpdateCall) Fields(s ...googleapi.Field) *ObjectsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsUpdateCall) Context(ctx context.Context) *ObjectsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7136,9 +7533,34 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["predefinedAcl"]; ok {
+		params.Set("predefinedAcl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -7308,16 +7730,16 @@
 // method id "storage.objects.watchAll":
 
 type ObjectsWatchAllCall struct {
-	s          *Service
-	bucket     string
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // WatchAll: Watch for changes on all objects in a bucket.
 func (r *ObjectsService) WatchAll(bucket string, channel *Channel) *ObjectsWatchAllCall {
-	c := &ObjectsWatchAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsWatchAllCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.channel = channel
 	return c
@@ -7330,7 +7752,7 @@
 // truncated after the delimiter, returned in prefixes. Duplicate
 // prefixes are omitted.
 func (c *ObjectsWatchAllCall) Delimiter(delimiter string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -7339,7 +7761,7 @@
 // fewer total results may be returned than requested. The default value
 // of this parameter is 1,000 items.
 func (c *ObjectsWatchAllCall) MaxResults(maxResults int64) *ObjectsWatchAllCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -7347,14 +7769,14 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *ObjectsWatchAllCall) PageToken(pageToken string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Prefix sets the optional parameter "prefix": Filter results to
 // objects whose names begin with this prefix.
 func (c *ObjectsWatchAllCall) Prefix(prefix string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("prefix", prefix)
+	c.opt_["prefix"] = prefix
 	return c
 }
 
@@ -7365,7 +7787,7 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsWatchAllCall) Projection(projection string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -7373,21 +7795,21 @@
 // versions of an object as distinct results. The default is false. For
 // more information, see Object Versioning.
 func (c *ObjectsWatchAllCall) Versions(versions bool) *ObjectsWatchAllCall {
-	c.urlParams_.Set("versions", fmt.Sprintf("%v", versions))
+	c.opt_["versions"] = versions
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsWatchAllCall) Fields(s ...googleapi.Field) *ObjectsWatchAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsWatchAllCall) Context(ctx context.Context) *ObjectsWatchAllCall {
 	c.ctx_ = ctx
 	return c
@@ -7400,9 +7822,31 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefix"]; ok {
+		params.Set("prefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["versions"]; ok {
+		params.Set("versions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
diff --git a/storage/v1beta1/storage-gen.go b/storage/v1beta1/storage-gen.go
index 356ba08..92f0110 100644
--- a/storage/v1beta1/storage-gen.go
+++ b/storage/v1beta1/storage-gen.go
@@ -618,33 +618,33 @@
 // method id "storage.bucketAccessControls.delete":
 
 type BucketAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Deletes the ACL entry for the specified entity on the
 // specified bucket.
 func (r *BucketAccessControlsService) Delete(bucket string, entity string) *BucketAccessControlsDeleteCall {
-	c := &BucketAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsDeleteCall) Fields(s ...googleapi.Field) *BucketAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsDeleteCall) Context(ctx context.Context) *BucketAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -652,9 +652,13 @@
 
 func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -711,28 +715,27 @@
 // method id "storage.bucketAccessControls.get":
 
 type BucketAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the ACL entry for the specified entity on the specified
 // bucket.
 func (r *BucketAccessControlsService) Get(bucket string, entity string) *BucketAccessControlsGetCall {
-	c := &BucketAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsGetCall) Fields(s ...googleapi.Field) *BucketAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -742,13 +745,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketAccessControlsGetCall) IfNoneMatch(entityTag string) *BucketAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsGetCall) Context(ctx context.Context) *BucketAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -756,17 +759,21 @@
 
 func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -848,29 +855,29 @@
 	s                   *Service
 	bucket              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new ACL entry on the specified bucket.
 func (r *BucketAccessControlsService) Insert(bucket string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsInsertCall {
-	c := &BucketAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsInsertCall) Fields(s ...googleapi.Field) *BucketAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsInsertCall) Context(ctx context.Context) *BucketAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -883,9 +890,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -965,25 +976,24 @@
 // method id "storage.bucketAccessControls.list":
 
 type BucketAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves ACL entries on the specified bucket.
 func (r *BucketAccessControlsService) List(bucket string) *BucketAccessControlsListCall {
-	c := &BucketAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsListCall) Fields(s ...googleapi.Field) *BucketAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -993,13 +1003,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketAccessControlsListCall) IfNoneMatch(entityTag string) *BucketAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsListCall) Context(ctx context.Context) *BucketAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1007,16 +1017,20 @@
 
 func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1092,31 +1106,31 @@
 	bucket              string
 	entity              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates an ACL entry on the specified bucket. This method
 // supports patch semantics.
 func (r *BucketAccessControlsService) Patch(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsPatchCall {
-	c := &BucketAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsPatchCall) Fields(s ...googleapi.Field) *BucketAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsPatchCall) Context(ctx context.Context) *BucketAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1129,9 +1143,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1223,30 +1241,30 @@
 	bucket              string
 	entity              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates an ACL entry on the specified bucket.
 func (r *BucketAccessControlsService) Update(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsUpdateCall {
-	c := &BucketAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsUpdateCall) Fields(s ...googleapi.Field) *BucketAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsUpdateCall) Context(ctx context.Context) *BucketAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1259,9 +1277,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1349,30 +1371,30 @@
 // method id "storage.buckets.delete":
 
 type BucketsDeleteCall struct {
-	s          *Service
-	bucket     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Deletes an empty bucket.
 func (r *BucketsService) Delete(bucket string) *BucketsDeleteCall {
-	c := &BucketsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsDeleteCall) Fields(s ...googleapi.Field) *BucketsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsDeleteCall) Context(ctx context.Context) *BucketsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1380,9 +1402,13 @@
 
 func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1432,16 +1458,15 @@
 // method id "storage.buckets.get":
 
 type BucketsGetCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns metadata for the specified bucket.
 func (r *BucketsService) Get(bucket string) *BucketsGetCall {
-	c := &BucketsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -1453,15 +1478,15 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsGetCall) Projection(projection string) *BucketsGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsGetCall) Fields(s ...googleapi.Field) *BucketsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1471,13 +1496,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketsGetCall) IfNoneMatch(entityTag string) *BucketsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsGetCall) Context(ctx context.Context) *BucketsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1485,16 +1510,23 @@
 
 func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1581,15 +1613,15 @@
 // method id "storage.buckets.insert":
 
 type BucketsInsertCall struct {
-	s          *Service
-	bucket     *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket *Bucket
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Insert: Creates a new bucket.
 func (r *BucketsService) Insert(bucket *Bucket) *BucketsInsertCall {
-	c := &BucketsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -1603,21 +1635,21 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsInsertCall) Projection(projection string) *BucketsInsertCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsInsertCall) Fields(s ...googleapi.Field) *BucketsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsInsertCall) Context(ctx context.Context) *BucketsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1630,9 +1662,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1715,23 +1754,23 @@
 // method id "storage.buckets.list":
 
 type BucketsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId uint64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of buckets for a given project.
 func (r *BucketsService) List(projectId uint64) *BucketsListCall {
-	c := &BucketsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectId", fmt.Sprintf("%v", projectId))
+	c := &BucketsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectId = projectId
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": Maximum number
 // of buckets to return.
 func (c *BucketsListCall) MaxResults(maxResults int64) *BucketsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -1739,7 +1778,7 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *BucketsListCall) PageToken(pageToken string) *BucketsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1750,15 +1789,15 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsListCall) Projection(projection string) *BucketsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsListCall) Fields(s ...googleapi.Field) *BucketsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1768,13 +1807,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketsListCall) IfNoneMatch(entityTag string) *BucketsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsListCall) Context(ctx context.Context) *BucketsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1782,14 +1821,28 @@
 
 func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("projectId", fmt.Sprintf("%v", c.projectId))
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1889,16 +1942,16 @@
 // method id "storage.buckets.patch":
 
 type BucketsPatchCall struct {
-	s          *Service
-	bucket     string
-	bucket2    *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	bucket2 *Bucket
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates a bucket. This method supports patch semantics.
 func (r *BucketsService) Patch(bucket string, bucket2 *Bucket) *BucketsPatchCall {
-	c := &BucketsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucket2 = bucket2
 	return c
@@ -1911,21 +1964,21 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsPatchCall) Projection(projection string) *BucketsPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsPatchCall) Fields(s ...googleapi.Field) *BucketsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsPatchCall) Context(ctx context.Context) *BucketsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1938,9 +1991,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2034,16 +2094,16 @@
 // method id "storage.buckets.update":
 
 type BucketsUpdateCall struct {
-	s          *Service
-	bucket     string
-	bucket2    *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	bucket2 *Bucket
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a bucket.
 func (r *BucketsService) Update(bucket string, bucket2 *Bucket) *BucketsUpdateCall {
-	c := &BucketsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucket2 = bucket2
 	return c
@@ -2056,21 +2116,21 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsUpdateCall) Projection(projection string) *BucketsUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsUpdateCall) Fields(s ...googleapi.Field) *BucketsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsUpdateCall) Context(ctx context.Context) *BucketsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2083,9 +2143,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2179,35 +2246,35 @@
 // method id "storage.objectAccessControls.delete":
 
 type ObjectAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	object string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Deletes the ACL entry for the specified entity on the
 // specified object.
 func (r *ObjectAccessControlsService) Delete(bucket string, object string, entity string) *ObjectAccessControlsDeleteCall {
-	c := &ObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *ObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsDeleteCall) Context(ctx context.Context) *ObjectAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2215,9 +2282,13 @@
 
 func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2282,30 +2353,29 @@
 // method id "storage.objectAccessControls.get":
 
 type ObjectAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the ACL entry for the specified entity on the specified
 // object.
 func (r *ObjectAccessControlsService) Get(bucket string, object string, entity string) *ObjectAccessControlsGetCall {
-	c := &ObjectAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *ObjectAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2315,13 +2385,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *ObjectAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsGetCall) Context(ctx context.Context) *ObjectAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2329,9 +2399,13 @@
 
 func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2339,8 +2413,8 @@
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2430,30 +2504,30 @@
 	bucket              string
 	object              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new ACL entry on the specified object.
 func (r *ObjectAccessControlsService) Insert(bucket string, object string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsInsertCall {
-	c := &ObjectAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *ObjectAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsInsertCall) Context(ctx context.Context) *ObjectAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2466,9 +2540,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2556,27 +2634,26 @@
 // method id "storage.objectAccessControls.list":
 
 type ObjectAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves ACL entries on the specified object.
 func (r *ObjectAccessControlsService) List(bucket string, object string) *ObjectAccessControlsListCall {
-	c := &ObjectAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsListCall) Fields(s ...googleapi.Field) *ObjectAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2586,13 +2663,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectAccessControlsListCall) IfNoneMatch(entityTag string) *ObjectAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsListCall) Context(ctx context.Context) *ObjectAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2600,17 +2677,21 @@
 
 func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"object": c.object,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2694,14 +2775,14 @@
 	object              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates an ACL entry on the specified object. This method
 // supports patch semantics.
 func (r *ObjectAccessControlsService) Patch(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsPatchCall {
-	c := &ObjectAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -2709,17 +2790,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *ObjectAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsPatchCall) Context(ctx context.Context) *ObjectAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2732,9 +2813,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2835,13 +2920,13 @@
 	object              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates an ACL entry on the specified object.
 func (r *ObjectAccessControlsService) Update(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsUpdateCall {
-	c := &ObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -2849,17 +2934,17 @@
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *ObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsUpdateCall) Context(ctx context.Context) *ObjectAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2872,9 +2957,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2970,32 +3059,32 @@
 // method id "storage.objects.delete":
 
 type ObjectsDeleteCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Deletes data blobs and associated metadata.
 func (r *ObjectsService) Delete(bucket string, object string) *ObjectsDeleteCall {
-	c := &ObjectsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsDeleteCall) Fields(s ...googleapi.Field) *ObjectsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsDeleteCall) Context(ctx context.Context) *ObjectsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3003,9 +3092,13 @@
 
 func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3063,17 +3156,16 @@
 // method id "storage.objects.get":
 
 type ObjectsGetCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves objects or their associated metadata.
 func (r *ObjectsService) Get(bucket string, object string) *ObjectsGetCall {
-	c := &ObjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -3086,15 +3178,15 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit the acl property.
 func (c *ObjectsGetCall) Projection(projection string) *ObjectsGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsGetCall) Fields(s ...googleapi.Field) *ObjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3104,13 +3196,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectsGetCall) IfNoneMatch(entityTag string) *ObjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsGetCall) Context(ctx context.Context) *ObjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3118,17 +3210,24 @@
 
 func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"object": c.object,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3238,21 +3337,20 @@
 // method id "storage.objects.insert":
 
 type ObjectsInsertCall struct {
-	s                *Service
-	bucket           string
-	object           *Object
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	bucket     string
+	object     *Object
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Stores new data blobs and associated metadata.
 func (r *ObjectsService) Insert(bucket string, object *Object) *ObjectsInsertCall {
-	c := &ObjectsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -3262,7 +3360,7 @@
 // when the object metadata is not otherwise provided. Overrides the
 // object metadata's name value, if any.
 func (c *ObjectsInsertCall) Name(name string) *ObjectsInsertCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
@@ -3274,24 +3372,24 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit the acl property.
 func (c *ObjectsInsertCall) Projection(projection string) *ObjectsInsertCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ObjectsInsertCall) Media(r io.Reader) *ObjectsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -3300,28 +3398,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsInsertCall) Fields(s ...googleapi.Field) *ObjectsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ObjectsInsertCall) Context(ctx context.Context) *ObjectsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3334,13 +3431,23 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -3393,6 +3500,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -3402,7 +3515,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -3488,16 +3601,15 @@
 // method id "storage.objects.list":
 
 type ObjectsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of objects matching the criteria.
 func (r *ObjectsService) List(bucket string) *ObjectsListCall {
-	c := &ObjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -3509,7 +3621,7 @@
 // truncated after the delimiter, returned in prefixes. Duplicate
 // prefixes are omitted.
 func (c *ObjectsListCall) Delimiter(delimiter string) *ObjectsListCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -3517,7 +3629,7 @@
 // of items plus prefixes to return. As duplicate prefixes are omitted,
 // fewer total results may be returned than requested.
 func (c *ObjectsListCall) MaxResults(maxResults int64) *ObjectsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -3525,14 +3637,14 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *ObjectsListCall) PageToken(pageToken string) *ObjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Prefix sets the optional parameter "prefix": Filter results to
 // objects whose names begin with this prefix.
 func (c *ObjectsListCall) Prefix(prefix string) *ObjectsListCall {
-	c.urlParams_.Set("prefix", prefix)
+	c.opt_["prefix"] = prefix
 	return c
 }
 
@@ -3543,15 +3655,15 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit the acl property.
 func (c *ObjectsListCall) Projection(projection string) *ObjectsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsListCall) Fields(s ...googleapi.Field) *ObjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3561,13 +3673,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectsListCall) IfNoneMatch(entityTag string) *ObjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsListCall) Context(ctx context.Context) *ObjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3575,16 +3687,35 @@
 
 func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefix"]; ok {
+		params.Set("prefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3694,18 +3825,18 @@
 // method id "storage.objects.patch":
 
 type ObjectsPatchCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	object2    *Object
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	object  string
+	object2 *Object
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates a data blob's associated metadata. This method
 // supports patch semantics.
 func (r *ObjectsService) Patch(bucket string, object string, object2 *Object) *ObjectsPatchCall {
-	c := &ObjectsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.object2 = object2
@@ -3719,21 +3850,21 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit the acl property.
 func (c *ObjectsPatchCall) Projection(projection string) *ObjectsPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsPatchCall) Fields(s ...googleapi.Field) *ObjectsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsPatchCall) Context(ctx context.Context) *ObjectsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3746,9 +3877,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3850,17 +3988,17 @@
 // method id "storage.objects.update":
 
 type ObjectsUpdateCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	object2    *Object
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	object  string
+	object2 *Object
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a data blob's associated metadata.
 func (r *ObjectsService) Update(bucket string, object string, object2 *Object) *ObjectsUpdateCall {
-	c := &ObjectsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.object2 = object2
@@ -3874,21 +4012,21 @@
 //   "full" - Include all properties.
 //   "no_acl" - Omit the acl property.
 func (c *ObjectsUpdateCall) Projection(projection string) *ObjectsUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsUpdateCall) Fields(s ...googleapi.Field) *ObjectsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsUpdateCall) Context(ctx context.Context) *ObjectsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3901,9 +4039,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
diff --git a/storage/v1beta2/storage-gen.go b/storage/v1beta2/storage-gen.go
index a27b19b..d77d203 100644
--- a/storage/v1beta2/storage-gen.go
+++ b/storage/v1beta2/storage-gen.go
@@ -995,33 +995,33 @@
 // method id "storage.bucketAccessControls.delete":
 
 type BucketAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes the ACL entry for the specified entity on
 // the specified bucket.
 func (r *BucketAccessControlsService) Delete(bucket string, entity string) *BucketAccessControlsDeleteCall {
-	c := &BucketAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsDeleteCall) Fields(s ...googleapi.Field) *BucketAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsDeleteCall) Context(ctx context.Context) *BucketAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1029,9 +1029,13 @@
 
 func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1088,28 +1092,27 @@
 // method id "storage.bucketAccessControls.get":
 
 type BucketAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the ACL entry for the specified entity on the specified
 // bucket.
 func (r *BucketAccessControlsService) Get(bucket string, entity string) *BucketAccessControlsGetCall {
-	c := &BucketAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsGetCall) Fields(s ...googleapi.Field) *BucketAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1119,13 +1122,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketAccessControlsGetCall) IfNoneMatch(entityTag string) *BucketAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsGetCall) Context(ctx context.Context) *BucketAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1133,17 +1136,21 @@
 
 func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1225,29 +1232,29 @@
 	s                   *Service
 	bucket              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new ACL entry on the specified bucket.
 func (r *BucketAccessControlsService) Insert(bucket string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsInsertCall {
-	c := &BucketAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsInsertCall) Fields(s ...googleapi.Field) *BucketAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsInsertCall) Context(ctx context.Context) *BucketAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1260,9 +1267,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1342,25 +1353,24 @@
 // method id "storage.bucketAccessControls.list":
 
 type BucketAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves ACL entries on the specified bucket.
 func (r *BucketAccessControlsService) List(bucket string) *BucketAccessControlsListCall {
-	c := &BucketAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsListCall) Fields(s ...googleapi.Field) *BucketAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1370,13 +1380,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketAccessControlsListCall) IfNoneMatch(entityTag string) *BucketAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsListCall) Context(ctx context.Context) *BucketAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1384,16 +1394,20 @@
 
 func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1469,31 +1483,31 @@
 	bucket              string
 	entity              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates an ACL entry on the specified bucket. This method
 // supports patch semantics.
 func (r *BucketAccessControlsService) Patch(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsPatchCall {
-	c := &BucketAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsPatchCall) Fields(s ...googleapi.Field) *BucketAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsPatchCall) Context(ctx context.Context) *BucketAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1506,9 +1520,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1600,30 +1618,30 @@
 	bucket              string
 	entity              string
 	bucketaccesscontrol *BucketAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates an ACL entry on the specified bucket.
 func (r *BucketAccessControlsService) Update(bucket string, entity string, bucketaccesscontrol *BucketAccessControl) *BucketAccessControlsUpdateCall {
-	c := &BucketAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.bucketaccesscontrol = bucketaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketAccessControlsUpdateCall) Fields(s ...googleapi.Field) *BucketAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketAccessControlsUpdateCall) Context(ctx context.Context) *BucketAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1636,9 +1654,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1726,15 +1748,15 @@
 // method id "storage.buckets.delete":
 
 type BucketsDeleteCall struct {
-	s          *Service
-	bucket     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes an empty bucket.
 func (r *BucketsService) Delete(bucket string) *BucketsDeleteCall {
-	c := &BucketsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -1744,7 +1766,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsDeleteCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *BucketsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -1753,21 +1775,21 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsDeleteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *BucketsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsDeleteCall) Fields(s ...googleapi.Field) *BucketsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsDeleteCall) Context(ctx context.Context) *BucketsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1775,9 +1797,19 @@
 
 func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -1839,16 +1871,15 @@
 // method id "storage.buckets.get":
 
 type BucketsGetCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns metadata for the specified bucket.
 func (r *BucketsService) Get(bucket string) *BucketsGetCall {
-	c := &BucketsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -1858,7 +1889,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsGetCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *BucketsGetCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -1867,7 +1898,7 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsGetCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *BucketsGetCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -1878,15 +1909,15 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsGetCall) Projection(projection string) *BucketsGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsGetCall) Fields(s ...googleapi.Field) *BucketsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1896,13 +1927,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketsGetCall) IfNoneMatch(entityTag string) *BucketsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsGetCall) Context(ctx context.Context) *BucketsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1910,16 +1941,29 @@
 
 func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2018,16 +2062,17 @@
 // method id "storage.buckets.insert":
 
 type BucketsInsertCall struct {
-	s          *Service
-	bucket     *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	projectid string
+	bucket    *Bucket
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a new bucket.
 func (r *BucketsService) Insert(projectid string, bucket *Bucket) *BucketsInsertCall {
-	c := &BucketsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectid", projectid)
+	c := &BucketsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectid = projectid
 	c.bucket = bucket
 	return c
 }
@@ -2041,21 +2086,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsInsertCall) Projection(projection string) *BucketsInsertCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsInsertCall) Fields(s ...googleapi.Field) *BucketsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsInsertCall) Context(ctx context.Context) *BucketsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -2068,9 +2113,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("project", fmt.Sprintf("%v", c.projectid))
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2162,23 +2215,23 @@
 // method id "storage.buckets.list":
 
 type BucketsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectid string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Retrieves a list of buckets for a given project.
 func (r *BucketsService) List(projectid string) *BucketsListCall {
-	c := &BucketsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("projectid", projectid)
+	c := &BucketsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.projectid = projectid
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of buckets to return.
 func (c *BucketsListCall) MaxResults(maxResults int64) *BucketsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -2186,7 +2239,7 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *BucketsListCall) PageToken(pageToken string) *BucketsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -2197,15 +2250,15 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsListCall) Projection(projection string) *BucketsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsListCall) Fields(s ...googleapi.Field) *BucketsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2215,13 +2268,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BucketsListCall) IfNoneMatch(entityTag string) *BucketsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsListCall) Context(ctx context.Context) *BucketsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2229,14 +2282,28 @@
 
 func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("project", fmt.Sprintf("%v", c.projectid))
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2335,16 +2402,16 @@
 // method id "storage.buckets.patch":
 
 type BucketsPatchCall struct {
-	s          *Service
-	bucket     string
-	bucket2    *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	bucket2 *Bucket
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates a bucket. This method supports patch semantics.
 func (r *BucketsService) Patch(bucket string, bucket2 *Bucket) *BucketsPatchCall {
-	c := &BucketsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucket2 = bucket2
 	return c
@@ -2355,7 +2422,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsPatchCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *BucketsPatchCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -2364,7 +2431,7 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsPatchCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *BucketsPatchCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -2375,21 +2442,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsPatchCall) Projection(projection string) *BucketsPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsPatchCall) Fields(s ...googleapi.Field) *BucketsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsPatchCall) Context(ctx context.Context) *BucketsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -2402,9 +2469,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2510,16 +2590,16 @@
 // method id "storage.buckets.update":
 
 type BucketsUpdateCall struct {
-	s          *Service
-	bucket     string
-	bucket2    *Bucket
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	bucket2 *Bucket
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a bucket.
 func (r *BucketsService) Update(bucket string, bucket2 *Bucket) *BucketsUpdateCall {
-	c := &BucketsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &BucketsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.bucket2 = bucket2
 	return c
@@ -2530,7 +2610,7 @@
 // conditional on whether the bucket's current metageneration matches
 // the given value.
 func (c *BucketsUpdateCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *BucketsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -2539,7 +2619,7 @@
 // conditional on whether the bucket's current metageneration does not
 // match the given value.
 func (c *BucketsUpdateCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *BucketsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -2550,21 +2630,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit acl and defaultObjectAcl properties.
 func (c *BucketsUpdateCall) Projection(projection string) *BucketsUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BucketsUpdateCall) Fields(s ...googleapi.Field) *BucketsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BucketsUpdateCall) Context(ctx context.Context) *BucketsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2577,9 +2657,22 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2685,30 +2778,30 @@
 // method id "storage.channels.stop":
 
 type ChannelsStopCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Stop: Stop watching resources through this channel
 func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
-	c := &ChannelsStopCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelsStopCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channel = channel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
 	c.ctx_ = ctx
 	return c
@@ -2721,9 +2814,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channels/stop")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -2766,33 +2863,33 @@
 // method id "storage.defaultObjectAccessControls.delete":
 
 type DefaultObjectAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes the default object ACL entry for the
 // specified entity on the specified bucket.
 func (r *DefaultObjectAccessControlsService) Delete(bucket string, entity string) *DefaultObjectAccessControlsDeleteCall {
-	c := &DefaultObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsDeleteCall) Context(ctx context.Context) *DefaultObjectAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2800,9 +2897,13 @@
 
 func (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -2859,28 +2960,27 @@
 // method id "storage.defaultObjectAccessControls.get":
 
 type DefaultObjectAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the default object ACL entry for the specified entity on
 // the specified bucket.
 func (r *DefaultObjectAccessControlsService) Get(bucket string, entity string) *DefaultObjectAccessControlsGetCall {
-	c := &DefaultObjectAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2890,13 +2990,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DefaultObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *DefaultObjectAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsGetCall) Context(ctx context.Context) *DefaultObjectAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2904,17 +3004,21 @@
 
 func (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2996,30 +3100,30 @@
 	s                   *Service
 	bucket              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new default object ACL entry on the specified
 // bucket.
 func (r *DefaultObjectAccessControlsService) Insert(bucket string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsInsertCall {
-	c := &DefaultObjectAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsInsertCall) Context(ctx context.Context) *DefaultObjectAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3032,9 +3136,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3114,16 +3222,15 @@
 // method id "storage.defaultObjectAccessControls.list":
 
 type DefaultObjectAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves default object ACL entries on the specified bucket.
 func (r *DefaultObjectAccessControlsService) List(bucket string) *DefaultObjectAccessControlsListCall {
-	c := &DefaultObjectAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -3132,7 +3239,7 @@
 // "ifMetagenerationMatch": If present, only return default ACL listing
 // if the bucket's current metageneration matches this value.
 func (c *DefaultObjectAccessControlsListCall) IfMetagenerationMatch(ifMetagenerationMatch int64) *DefaultObjectAccessControlsListCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -3141,15 +3248,15 @@
 // listing if the bucket's current metageneration does not match the
 // given value.
 func (c *DefaultObjectAccessControlsListCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int64) *DefaultObjectAccessControlsListCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsListCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3159,13 +3266,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DefaultObjectAccessControlsListCall) IfNoneMatch(entityTag string) *DefaultObjectAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsListCall) Context(ctx context.Context) *DefaultObjectAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3173,16 +3280,26 @@
 
 func (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3270,31 +3387,31 @@
 	bucket              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates a default object ACL entry on the specified bucket.
 // This method supports patch semantics.
 func (r *DefaultObjectAccessControlsService) Patch(bucket string, entity string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsPatchCall {
-	c := &DefaultObjectAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsPatchCall) Context(ctx context.Context) *DefaultObjectAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -3307,9 +3424,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3401,30 +3522,30 @@
 	bucket              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates a default object ACL entry on the specified bucket.
 func (r *DefaultObjectAccessControlsService) Update(bucket string, entity string, objectaccesscontrol *ObjectAccessControl) *DefaultObjectAccessControlsUpdateCall {
-	c := &DefaultObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &DefaultObjectAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.entity = entity
 	c.objectaccesscontrol = objectaccesscontrol
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DefaultObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *DefaultObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DefaultObjectAccessControlsUpdateCall) Context(ctx context.Context) *DefaultObjectAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3437,9 +3558,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/defaultObjectAcl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3527,18 +3652,18 @@
 // method id "storage.objectAccessControls.delete":
 
 type ObjectAccessControlsDeleteCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	entity     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	object string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Permanently deletes the ACL entry for the specified entity on
 // the specified object.
 func (r *ObjectAccessControlsService) Delete(bucket string, object string, entity string) *ObjectAccessControlsDeleteCall {
-	c := &ObjectAccessControlsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -3549,21 +3674,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsDeleteCall) Generation(generation uint64) *ObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsDeleteCall) Fields(s ...googleapi.Field) *ObjectAccessControlsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsDeleteCall) Context(ctx context.Context) *ObjectAccessControlsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3571,9 +3696,16 @@
 
 func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3644,19 +3776,18 @@
 // method id "storage.objectAccessControls.get":
 
 type ObjectAccessControlsGetCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	entity       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	entity string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Returns the ACL entry for the specified entity on the specified
 // object.
 func (r *ObjectAccessControlsService) Get(bucket string, object string, entity string) *ObjectAccessControlsGetCall {
-	c := &ObjectAccessControlsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -3667,15 +3798,15 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsGetCall) Generation(generation uint64) *ObjectAccessControlsGetCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsGetCall) Fields(s ...googleapi.Field) *ObjectAccessControlsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3685,13 +3816,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectAccessControlsGetCall) IfNoneMatch(entityTag string) *ObjectAccessControlsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsGetCall) Context(ctx context.Context) *ObjectAccessControlsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3699,9 +3830,16 @@
 
 func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3709,8 +3847,8 @@
 		"entity": c.entity,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3806,13 +3944,13 @@
 	bucket              string
 	object              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Insert: Creates a new ACL entry on the specified object.
 func (r *ObjectAccessControlsService) Insert(bucket string, object string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsInsertCall {
-	c := &ObjectAccessControlsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.objectaccesscontrol = objectaccesscontrol
@@ -3823,21 +3961,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsInsertCall) Generation(generation uint64) *ObjectAccessControlsInsertCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsInsertCall) Fields(s ...googleapi.Field) *ObjectAccessControlsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsInsertCall) Context(ctx context.Context) *ObjectAccessControlsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -3850,9 +3988,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -3946,17 +4091,16 @@
 // method id "storage.objectAccessControls.list":
 
 type ObjectAccessControlsListCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves ACL entries on the specified object.
 func (r *ObjectAccessControlsService) List(bucket string, object string) *ObjectAccessControlsListCall {
-	c := &ObjectAccessControlsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -3966,15 +4110,15 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsListCall) Generation(generation uint64) *ObjectAccessControlsListCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsListCall) Fields(s ...googleapi.Field) *ObjectAccessControlsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3984,13 +4128,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectAccessControlsListCall) IfNoneMatch(entityTag string) *ObjectAccessControlsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsListCall) Context(ctx context.Context) *ObjectAccessControlsListCall {
 	c.ctx_ = ctx
 	return c
@@ -3998,17 +4142,24 @@
 
 func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"object": c.object,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4098,14 +4249,14 @@
 	object              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Patch: Updates an ACL entry on the specified object. This method
 // supports patch semantics.
 func (r *ObjectAccessControlsService) Patch(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsPatchCall {
-	c := &ObjectAccessControlsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -4117,21 +4268,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsPatchCall) Generation(generation uint64) *ObjectAccessControlsPatchCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsPatchCall) Fields(s ...googleapi.Field) *ObjectAccessControlsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsPatchCall) Context(ctx context.Context) *ObjectAccessControlsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -4144,9 +4295,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4253,13 +4411,13 @@
 	object              string
 	entity              string
 	objectaccesscontrol *ObjectAccessControl
-	urlParams_          internal.URLParams
+	opt_                map[string]interface{}
 	ctx_                context.Context
 }
 
 // Update: Updates an ACL entry on the specified object.
 func (r *ObjectAccessControlsService) Update(bucket string, object string, entity string, objectaccesscontrol *ObjectAccessControl) *ObjectAccessControlsUpdateCall {
-	c := &ObjectAccessControlsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectAccessControlsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.entity = entity
@@ -4271,21 +4429,21 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectAccessControlsUpdateCall) Generation(generation uint64) *ObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectAccessControlsUpdateCall) Fields(s ...googleapi.Field) *ObjectAccessControlsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectAccessControlsUpdateCall) Context(ctx context.Context) *ObjectAccessControlsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4298,9 +4456,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}/acl/{entity}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -4406,14 +4571,14 @@
 	destinationBucket string
 	destinationObject string
 	composerequest    *ComposeRequest
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Compose: Concatenates a list of existing objects into a new object in
 // the same bucket.
 func (r *ObjectsService) Compose(destinationBucket string, destinationObject string, composerequest *ComposeRequest) *ObjectsComposeCall {
-	c := &ObjectsComposeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsComposeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.destinationBucket = destinationBucket
 	c.destinationObject = destinationObject
 	c.composerequest = composerequest
@@ -4424,7 +4589,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsComposeCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsComposeCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -4432,21 +4597,21 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsComposeCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsComposeCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsComposeCall) Fields(s ...googleapi.Field) *ObjectsComposeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsComposeCall) Context(ctx context.Context) *ObjectsComposeCall {
 	c.ctx_ = ctx
 	return c
@@ -4459,9 +4624,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{destinationBucket}/o/{destinationObject}/compose")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"destinationBucket": c.destinationBucket,
@@ -4584,14 +4759,14 @@
 	destinationBucket string
 	destinationObject string
 	object            *Object
-	urlParams_        internal.URLParams
+	opt_              map[string]interface{}
 	ctx_              context.Context
 }
 
 // Copy: Copies an object to a destination in the same location.
 // Optionally overrides metadata.
 func (r *ObjectsService) Copy(sourceBucket string, sourceObject string, destinationBucket string, destinationObject string, object *Object) *ObjectsCopyCall {
-	c := &ObjectsCopyCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsCopyCall{s: r.s, opt_: make(map[string]interface{})}
 	c.sourceBucket = sourceBucket
 	c.sourceObject = sourceObject
 	c.destinationBucket = destinationBucket
@@ -4604,7 +4779,7 @@
 // Makes the operation conditional on whether the destination object's
 // current generation matches the given value.
 func (c *ObjectsCopyCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -4613,7 +4788,7 @@
 // the destination object's current generation does not match the given
 // value.
 func (c *ObjectsCopyCall) IfGenerationNotMatch(ifGenerationNotMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -4622,7 +4797,7 @@
 // the destination object's current metageneration matches the given
 // value.
 func (c *ObjectsCopyCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -4631,7 +4806,7 @@
 // whether the destination object's current metageneration does not
 // match the given value.
 func (c *ObjectsCopyCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -4639,7 +4814,7 @@
 // "ifSourceGenerationMatch": Makes the operation conditional on whether
 // the source object's generation matches the given value.
 func (c *ObjectsCopyCall) IfSourceGenerationMatch(ifSourceGenerationMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceGenerationMatch", fmt.Sprintf("%v", ifSourceGenerationMatch))
+	c.opt_["ifSourceGenerationMatch"] = ifSourceGenerationMatch
 	return c
 }
 
@@ -4648,7 +4823,7 @@
 // whether the source object's generation does not match the given
 // value.
 func (c *ObjectsCopyCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceGenerationNotMatch", fmt.Sprintf("%v", ifSourceGenerationNotMatch))
+	c.opt_["ifSourceGenerationNotMatch"] = ifSourceGenerationNotMatch
 	return c
 }
 
@@ -4657,7 +4832,7 @@
 // whether the source object's current metageneration matches the given
 // value.
 func (c *ObjectsCopyCall) IfSourceMetagenerationMatch(ifSourceMetagenerationMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceMetagenerationMatch", fmt.Sprintf("%v", ifSourceMetagenerationMatch))
+	c.opt_["ifSourceMetagenerationMatch"] = ifSourceMetagenerationMatch
 	return c
 }
 
@@ -4666,7 +4841,7 @@
 // whether the source object's current metageneration does not match the
 // given value.
 func (c *ObjectsCopyCall) IfSourceMetagenerationNotMatch(ifSourceMetagenerationNotMatch uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("ifSourceMetagenerationNotMatch", fmt.Sprintf("%v", ifSourceMetagenerationNotMatch))
+	c.opt_["ifSourceMetagenerationNotMatch"] = ifSourceMetagenerationNotMatch
 	return c
 }
 
@@ -4678,7 +4853,7 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsCopyCall) Projection(projection string) *ObjectsCopyCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
@@ -4686,21 +4861,21 @@
 // present, selects a specific revision of the source object (as opposed
 // to the latest version, the default).
 func (c *ObjectsCopyCall) SourceGeneration(sourceGeneration uint64) *ObjectsCopyCall {
-	c.urlParams_.Set("sourceGeneration", fmt.Sprintf("%v", sourceGeneration))
+	c.opt_["sourceGeneration"] = sourceGeneration
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsCopyCall) Fields(s ...googleapi.Field) *ObjectsCopyCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsCopyCall) Context(ctx context.Context) *ObjectsCopyCall {
 	c.ctx_ = ctx
 	return c
@@ -4713,9 +4888,43 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceGenerationMatch"]; ok {
+		params.Set("ifSourceGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceGenerationNotMatch"]; ok {
+		params.Set("ifSourceGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceMetagenerationMatch"]; ok {
+		params.Set("ifSourceMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifSourceMetagenerationNotMatch"]; ok {
+		params.Set("ifSourceMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sourceGeneration"]; ok {
+		params.Set("sourceGeneration", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"sourceBucket":      c.sourceBucket,
@@ -4903,18 +5112,18 @@
 // method id "storage.objects.delete":
 
 type ObjectsDeleteCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Delete: Deletes data blobs and associated metadata. Deletions are
 // permanent if versioning is not enabled for the bucket, or if the
 // generation parameter is used.
 func (r *ObjectsService) Delete(bucket string, object string) *ObjectsDeleteCall {
-	c := &ObjectsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -4924,7 +5133,7 @@
 // permanently deletes a specific revision of this object (as opposed to
 // the latest version, the default).
 func (c *ObjectsDeleteCall) Generation(generation uint64) *ObjectsDeleteCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -4932,7 +5141,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsDeleteCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -4940,7 +5149,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsDeleteCall) IfGenerationNotMatch(ifGenerationNotMatch uint64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -4948,7 +5157,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsDeleteCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -4957,21 +5166,21 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsDeleteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *ObjectsDeleteCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsDeleteCall) Fields(s ...googleapi.Field) *ObjectsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsDeleteCall) Context(ctx context.Context) *ObjectsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4979,9 +5188,28 @@
 
 func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -5069,17 +5297,16 @@
 // method id "storage.objects.get":
 
 type ObjectsGetCall struct {
-	s            *Service
-	bucket       string
-	object       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	object string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Get: Retrieves objects or their associated metadata.
 func (r *ObjectsService) Get(bucket string, object string) *ObjectsGetCall {
-	c := &ObjectsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -5089,7 +5316,7 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectsGetCall) Generation(generation uint64) *ObjectsGetCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -5097,7 +5324,7 @@
 // Makes the operation conditional on whether the object's generation
 // matches the given value.
 func (c *ObjectsGetCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsGetCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5105,7 +5332,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's generation does not match the given value.
 func (c *ObjectsGetCall) IfGenerationNotMatch(ifGenerationNotMatch uint64) *ObjectsGetCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5113,7 +5340,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsGetCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsGetCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5122,7 +5349,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsGetCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *ObjectsGetCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -5133,15 +5360,15 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsGetCall) Projection(projection string) *ObjectsGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsGetCall) Fields(s ...googleapi.Field) *ObjectsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5151,13 +5378,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectsGetCall) IfNoneMatch(entityTag string) *ObjectsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsGetCall) Context(ctx context.Context) *ObjectsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5165,17 +5392,39 @@
 
 func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 		"object": c.object,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5315,21 +5564,20 @@
 // method id "storage.objects.insert":
 
 type ObjectsInsertCall struct {
-	s                *Service
-	bucket           string
-	object           *Object
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	bucket     string
+	object     *Object
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Stores new data blobs and associated metadata.
 func (r *ObjectsService) Insert(bucket string, object *Object) *ObjectsInsertCall {
-	c := &ObjectsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	return c
@@ -5339,7 +5587,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsInsertCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5347,7 +5595,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsInsertCall) IfGenerationNotMatch(ifGenerationNotMatch uint64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5355,7 +5603,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsInsertCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5364,7 +5612,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsInsertCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *ObjectsInsertCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -5372,7 +5620,7 @@
 // when the object metadata is not otherwise provided. Overrides the
 // object metadata's name value, if any.
 func (c *ObjectsInsertCall) Name(name string) *ObjectsInsertCall {
-	c.urlParams_.Set("name", name)
+	c.opt_["name"] = name
 	return c
 }
 
@@ -5384,24 +5632,24 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsInsertCall) Projection(projection string) *ObjectsInsertCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ObjectsInsertCall) Media(r io.Reader) *ObjectsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -5410,28 +5658,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsInsertCall) Fields(s ...googleapi.Field) *ObjectsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ObjectsInsertCall) Context(ctx context.Context) *ObjectsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -5444,13 +5691,35 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["name"]; ok {
+		params.Set("name", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -5503,6 +5772,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -5512,7 +5787,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -5622,16 +5897,15 @@
 // method id "storage.objects.list":
 
 type ObjectsListCall struct {
-	s            *Service
-	bucket       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	bucket string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Retrieves a list of objects matching the criteria.
 func (r *ObjectsService) List(bucket string) *ObjectsListCall {
-	c := &ObjectsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	return c
 }
@@ -5643,7 +5917,7 @@
 // truncated after the delimiter, returned in prefixes. Duplicate
 // prefixes are omitted.
 func (c *ObjectsListCall) Delimiter(delimiter string) *ObjectsListCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -5651,7 +5925,7 @@
 // of items plus prefixes to return. As duplicate prefixes are omitted,
 // fewer total results may be returned than requested.
 func (c *ObjectsListCall) MaxResults(maxResults int64) *ObjectsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -5659,14 +5933,14 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *ObjectsListCall) PageToken(pageToken string) *ObjectsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Prefix sets the optional parameter "prefix": Filter results to
 // objects whose names begin with this prefix.
 func (c *ObjectsListCall) Prefix(prefix string) *ObjectsListCall {
-	c.urlParams_.Set("prefix", prefix)
+	c.opt_["prefix"] = prefix
 	return c
 }
 
@@ -5677,22 +5951,22 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsListCall) Projection(projection string) *ObjectsListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // Versions sets the optional parameter "versions": If true, lists all
 // versions of a file as distinct results.
 func (c *ObjectsListCall) Versions(versions bool) *ObjectsListCall {
-	c.urlParams_.Set("versions", fmt.Sprintf("%v", versions))
+	c.opt_["versions"] = versions
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsListCall) Fields(s ...googleapi.Field) *ObjectsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5702,13 +5976,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ObjectsListCall) IfNoneMatch(entityTag string) *ObjectsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsListCall) Context(ctx context.Context) *ObjectsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5716,16 +5990,38 @@
 
 func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefix"]; ok {
+		params.Set("prefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["versions"]; ok {
+		params.Set("versions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5840,18 +6136,18 @@
 // method id "storage.objects.patch":
 
 type ObjectsPatchCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	object2    *Object
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	object  string
+	object2 *Object
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Patch: Updates a data blob's associated metadata. This method
 // supports patch semantics.
 func (r *ObjectsService) Patch(bucket string, object string, object2 *Object) *ObjectsPatchCall {
-	c := &ObjectsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.object2 = object2
@@ -5862,7 +6158,7 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectsPatchCall) Generation(generation uint64) *ObjectsPatchCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -5870,7 +6166,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsPatchCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -5878,7 +6174,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsPatchCall) IfGenerationNotMatch(ifGenerationNotMatch uint64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -5886,7 +6182,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsPatchCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -5895,7 +6191,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsPatchCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *ObjectsPatchCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -5906,21 +6202,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsPatchCall) Projection(projection string) *ObjectsPatchCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsPatchCall) Fields(s ...googleapi.Field) *ObjectsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsPatchCall) Context(ctx context.Context) *ObjectsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -5933,9 +6229,31 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -6067,17 +6385,17 @@
 // method id "storage.objects.update":
 
 type ObjectsUpdateCall struct {
-	s          *Service
-	bucket     string
-	object     string
-	object2    *Object
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	object  string
+	object2 *Object
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a data blob's associated metadata.
 func (r *ObjectsService) Update(bucket string, object string, object2 *Object) *ObjectsUpdateCall {
-	c := &ObjectsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.object = object
 	c.object2 = object2
@@ -6088,7 +6406,7 @@
 // selects a specific revision of this object (as opposed to the latest
 // version, the default).
 func (c *ObjectsUpdateCall) Generation(generation uint64) *ObjectsUpdateCall {
-	c.urlParams_.Set("generation", fmt.Sprintf("%v", generation))
+	c.opt_["generation"] = generation
 	return c
 }
 
@@ -6096,7 +6414,7 @@
 // Makes the operation conditional on whether the object's current
 // generation matches the given value.
 func (c *ObjectsUpdateCall) IfGenerationMatch(ifGenerationMatch uint64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifGenerationMatch", fmt.Sprintf("%v", ifGenerationMatch))
+	c.opt_["ifGenerationMatch"] = ifGenerationMatch
 	return c
 }
 
@@ -6104,7 +6422,7 @@
 // "ifGenerationNotMatch": Makes the operation conditional on whether
 // the object's current generation does not match the given value.
 func (c *ObjectsUpdateCall) IfGenerationNotMatch(ifGenerationNotMatch uint64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprintf("%v", ifGenerationNotMatch))
+	c.opt_["ifGenerationNotMatch"] = ifGenerationNotMatch
 	return c
 }
 
@@ -6112,7 +6430,7 @@
 // "ifMetagenerationMatch": Makes the operation conditional on whether
 // the object's current metageneration matches the given value.
 func (c *ObjectsUpdateCall) IfMetagenerationMatch(ifMetagenerationMatch uint64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationMatch", fmt.Sprintf("%v", ifMetagenerationMatch))
+	c.opt_["ifMetagenerationMatch"] = ifMetagenerationMatch
 	return c
 }
 
@@ -6121,7 +6439,7 @@
 // whether the object's current metageneration does not match the given
 // value.
 func (c *ObjectsUpdateCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch uint64) *ObjectsUpdateCall {
-	c.urlParams_.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", ifMetagenerationNotMatch))
+	c.opt_["ifMetagenerationNotMatch"] = ifMetagenerationNotMatch
 	return c
 }
 
@@ -6132,21 +6450,21 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsUpdateCall) Projection(projection string) *ObjectsUpdateCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsUpdateCall) Fields(s ...googleapi.Field) *ObjectsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsUpdateCall) Context(ctx context.Context) *ObjectsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6159,9 +6477,31 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["generation"]; ok {
+		params.Set("generation", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationMatch"]; ok {
+		params.Set("ifGenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifGenerationNotMatch"]; ok {
+		params.Set("ifGenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationMatch"]; ok {
+		params.Set("ifMetagenerationMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["ifMetagenerationNotMatch"]; ok {
+		params.Set("ifMetagenerationNotMatch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/{object}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
@@ -6309,16 +6649,16 @@
 // method id "storage.objects.watchAll":
 
 type ObjectsWatchAllCall struct {
-	s          *Service
-	bucket     string
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	bucket  string
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // WatchAll: Watch for changes on all objects in a bucket.
 func (r *ObjectsService) WatchAll(bucket string, channel *Channel) *ObjectsWatchAllCall {
-	c := &ObjectsWatchAllCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ObjectsWatchAllCall{s: r.s, opt_: make(map[string]interface{})}
 	c.bucket = bucket
 	c.channel = channel
 	return c
@@ -6331,7 +6671,7 @@
 // truncated after the delimiter, returned in prefixes. Duplicate
 // prefixes are omitted.
 func (c *ObjectsWatchAllCall) Delimiter(delimiter string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("delimiter", delimiter)
+	c.opt_["delimiter"] = delimiter
 	return c
 }
 
@@ -6339,7 +6679,7 @@
 // of items plus prefixes to return. As duplicate prefixes are omitted,
 // fewer total results may be returned than requested.
 func (c *ObjectsWatchAllCall) MaxResults(maxResults int64) *ObjectsWatchAllCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -6347,14 +6687,14 @@
 // previously-returned page token representing part of the larger set of
 // results to view.
 func (c *ObjectsWatchAllCall) PageToken(pageToken string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
 // Prefix sets the optional parameter "prefix": Filter results to
 // objects whose names begin with this prefix.
 func (c *ObjectsWatchAllCall) Prefix(prefix string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("prefix", prefix)
+	c.opt_["prefix"] = prefix
 	return c
 }
 
@@ -6365,28 +6705,28 @@
 //   "full" - Include all properties.
 //   "noAcl" - Omit the acl property.
 func (c *ObjectsWatchAllCall) Projection(projection string) *ObjectsWatchAllCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // Versions sets the optional parameter "versions": If true, lists all
 // versions of a file as distinct results.
 func (c *ObjectsWatchAllCall) Versions(versions bool) *ObjectsWatchAllCall {
-	c.urlParams_.Set("versions", fmt.Sprintf("%v", versions))
+	c.opt_["versions"] = versions
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ObjectsWatchAllCall) Fields(s ...googleapi.Field) *ObjectsWatchAllCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ObjectsWatchAllCall) Context(ctx context.Context) *ObjectsWatchAllCall {
 	c.ctx_ = ctx
 	return c
@@ -6399,9 +6739,31 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["delimiter"]; ok {
+		params.Set("delimiter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["prefix"]; ok {
+		params.Set("prefix", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["versions"]; ok {
+		params.Set("versions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o/watch")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"bucket": c.bucket,
diff --git a/storagetransfer/v1/storagetransfer-gen.go b/storagetransfer/v1/storagetransfer-gen.go
index 6b6caa8..332b017 100644
--- a/storagetransfer/v1/storagetransfer-gen.go
+++ b/storagetransfer/v1/storagetransfer-gen.go
@@ -1004,11 +1004,10 @@
 // method id "storagetransfer.googleServiceAccounts.get":
 
 type GoogleServiceAccountsGetCall struct {
-	s            *Service
-	projectId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	projectId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Returns the Google service account that is used by Storage
@@ -1020,16 +1019,16 @@
 // by Storage Transfer Service and can only be used by Storage Transfer
 // Service.
 func (r *GoogleServiceAccountsService) Get(projectId string) *GoogleServiceAccountsGetCall {
-	c := &GoogleServiceAccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GoogleServiceAccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.projectId = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GoogleServiceAccountsGetCall) Fields(s ...googleapi.Field) *GoogleServiceAccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1039,13 +1038,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GoogleServiceAccountsGetCall) IfNoneMatch(entityTag string) *GoogleServiceAccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GoogleServiceAccountsGetCall) Context(ctx context.Context) *GoogleServiceAccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1053,16 +1052,20 @@
 
 func (c *GoogleServiceAccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleServiceAccounts/{projectId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"projectId": c.projectId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1136,28 +1139,28 @@
 type TransferJobsCreateCall struct {
 	s           *Service
 	transferjob *TransferJob
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a transfer job that runs periodically.
 func (r *TransferJobsService) Create(transferjob *TransferJob) *TransferJobsCreateCall {
-	c := &TransferJobsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferJobsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.transferjob = transferjob
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferJobsCreateCall) Fields(s ...googleapi.Field) *TransferJobsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferJobsCreateCall) Context(ctx context.Context) *TransferJobsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1170,9 +1173,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/transferJobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1239,16 +1246,15 @@
 // method id "storagetransfer.transferJobs.get":
 
 type TransferJobsGetCall struct {
-	s            *Service
-	jobName      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	jobName string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Gets a transfer job.
 func (r *TransferJobsService) Get(jobName string) *TransferJobsGetCall {
-	c := &TransferJobsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferJobsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.jobName = jobName
 	return c
 }
@@ -1256,15 +1262,15 @@
 // ProjectId sets the optional parameter "projectId": The ID of the
 // Google Developers Console project that owns the job. Required.
 func (c *TransferJobsGetCall) ProjectId(projectId string) *TransferJobsGetCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferJobsGetCall) Fields(s ...googleapi.Field) *TransferJobsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1274,13 +1280,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TransferJobsGetCall) IfNoneMatch(entityTag string) *TransferJobsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferJobsGetCall) Context(ctx context.Context) *TransferJobsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1288,16 +1294,23 @@
 
 func (c *TransferJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+jobName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"jobName": c.jobName,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1375,15 +1388,14 @@
 // method id "storagetransfer.transferJobs.list":
 
 type TransferJobsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists transfer jobs.
 func (r *TransferJobsService) List() *TransferJobsListCall {
-	c := &TransferJobsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferJobsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1397,29 +1409,29 @@
 // and `job_statuses` are optional. The valid values for `job_statuses`
 // are case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.
 func (c *TransferJobsListCall) Filter(filter string) *TransferJobsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The list page size.
 // The max allowed value is 256.
 func (c *TransferJobsListCall) PageSize(pageSize int64) *TransferJobsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The list page
 // token.
 func (c *TransferJobsListCall) PageToken(pageToken string) *TransferJobsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferJobsListCall) Fields(s ...googleapi.Field) *TransferJobsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1429,13 +1441,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TransferJobsListCall) IfNoneMatch(entityTag string) *TransferJobsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferJobsListCall) Context(ctx context.Context) *TransferJobsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1443,14 +1455,27 @@
 
 func (c *TransferJobsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/transferJobs")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1532,7 +1557,7 @@
 	s                        *Service
 	jobName                  string
 	updatetransferjobrequest *UpdateTransferJobRequest
-	urlParams_               internal.URLParams
+	opt_                     map[string]interface{}
 	ctx_                     context.Context
 }
 
@@ -1540,23 +1565,23 @@
 // not affect transfer operations that are running already. Updating the
 // scheduling of a job is not allowed.
 func (r *TransferJobsService) Patch(jobName string, updatetransferjobrequest *UpdateTransferJobRequest) *TransferJobsPatchCall {
-	c := &TransferJobsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferJobsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.jobName = jobName
 	c.updatetransferjobrequest = updatetransferjobrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferJobsPatchCall) Fields(s ...googleapi.Field) *TransferJobsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferJobsPatchCall) Context(ctx context.Context) *TransferJobsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1569,9 +1594,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+jobName}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"jobName": c.jobName,
@@ -1652,32 +1681,32 @@
 // method id "storagetransfer.transferOperations.cancel":
 
 type TransferOperationsCancelCall struct {
-	s          *Service
-	name       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Cancel: Cancels a transfer. Use the get method to check whether the
 // cancellation succeeded or whether the operation completed despite
 // cancellation.
 func (r *TransferOperationsService) Cancel(name string) *TransferOperationsCancelCall {
-	c := &TransferOperationsCancelCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferOperationsCancelCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferOperationsCancelCall) Fields(s ...googleapi.Field) *TransferOperationsCancelCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferOperationsCancelCall) Context(ctx context.Context) *TransferOperationsCancelCall {
 	c.ctx_ = ctx
 	return c
@@ -1685,9 +1714,13 @@
 
 func (c *TransferOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -1764,31 +1797,31 @@
 // method id "storagetransfer.transferOperations.delete":
 
 type TransferOperationsDeleteCall struct {
-	s          *Service
-	name       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: This method is not supported and the server returns
 // `UNIMPLEMENTED`.
 func (r *TransferOperationsService) Delete(name string) *TransferOperationsDeleteCall {
-	c := &TransferOperationsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferOperationsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferOperationsDeleteCall) Fields(s ...googleapi.Field) *TransferOperationsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferOperationsDeleteCall) Context(ctx context.Context) *TransferOperationsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1796,9 +1829,13 @@
 
 func (c *TransferOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -1875,27 +1912,26 @@
 // method id "storagetransfer.transferOperations.get":
 
 type TransferOperationsGetCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Get: Gets the latest state of a long-running operation. Clients can
 // use this method to poll the operation result at intervals as
 // recommended by the API service.
 func (r *TransferOperationsService) Get(name string) *TransferOperationsGetCall {
-	c := &TransferOperationsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferOperationsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferOperationsGetCall) Fields(s ...googleapi.Field) *TransferOperationsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1905,13 +1941,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TransferOperationsGetCall) IfNoneMatch(entityTag string) *TransferOperationsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferOperationsGetCall) Context(ctx context.Context) *TransferOperationsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1919,16 +1955,20 @@
 
 func (c *TransferOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2001,11 +2041,10 @@
 // method id "storagetransfer.transferOperations.list":
 
 type TransferOperationsListCall struct {
-	s            *Service
-	name         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	name string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists operations that match the specified filter in the
@@ -2014,7 +2053,7 @@
 // to override the binding to use different resource name schemes, such
 // as `users/*/operations`.
 func (r *TransferOperationsService) List(name string) *TransferOperationsListCall {
-	c := &TransferOperationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferOperationsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	return c
 }
@@ -2022,29 +2061,29 @@
 // Filter sets the optional parameter "filter": The standard list
 // filter.
 func (c *TransferOperationsListCall) Filter(filter string) *TransferOperationsListCall {
-	c.urlParams_.Set("filter", filter)
+	c.opt_["filter"] = filter
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The standard list
 // page size.
 func (c *TransferOperationsListCall) PageSize(pageSize int64) *TransferOperationsListCall {
-	c.urlParams_.Set("pageSize", fmt.Sprintf("%v", pageSize))
+	c.opt_["pageSize"] = pageSize
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The standard list
 // page token.
 func (c *TransferOperationsListCall) PageToken(pageToken string) *TransferOperationsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferOperationsListCall) Fields(s ...googleapi.Field) *TransferOperationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2054,13 +2093,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TransferOperationsListCall) IfNoneMatch(entityTag string) *TransferOperationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferOperationsListCall) Context(ctx context.Context) *TransferOperationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -2068,16 +2107,29 @@
 
 func (c *TransferOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["filter"]; ok {
+		params.Set("filter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageSize"]; ok {
+		params.Set("pageSize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2169,29 +2221,29 @@
 	s                             *Service
 	name                          string
 	pausetransferoperationrequest *PauseTransferOperationRequest
-	urlParams_                    internal.URLParams
+	opt_                          map[string]interface{}
 	ctx_                          context.Context
 }
 
 // Pause: Pauses a transfer operation.
 func (r *TransferOperationsService) Pause(name string, pausetransferoperationrequest *PauseTransferOperationRequest) *TransferOperationsPauseCall {
-	c := &TransferOperationsPauseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferOperationsPauseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.pausetransferoperationrequest = pausetransferoperationrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferOperationsPauseCall) Fields(s ...googleapi.Field) *TransferOperationsPauseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferOperationsPauseCall) Context(ctx context.Context) *TransferOperationsPauseCall {
 	c.ctx_ = ctx
 	return c
@@ -2204,9 +2256,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:pause")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -2290,29 +2346,29 @@
 	s                              *Service
 	name                           string
 	resumetransferoperationrequest *ResumeTransferOperationRequest
-	urlParams_                     internal.URLParams
+	opt_                           map[string]interface{}
 	ctx_                           context.Context
 }
 
 // Resume: Resumes a transfer operation that is paused.
 func (r *TransferOperationsService) Resume(name string, resumetransferoperationrequest *ResumeTransferOperationRequest) *TransferOperationsResumeCall {
-	c := &TransferOperationsResumeCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TransferOperationsResumeCall{s: r.s, opt_: make(map[string]interface{})}
 	c.name = name
 	c.resumetransferoperationrequest = resumetransferoperationrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TransferOperationsResumeCall) Fields(s ...googleapi.Field) *TransferOperationsResumeCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TransferOperationsResumeCall) Context(ctx context.Context) *TransferOperationsResumeCall {
 	c.ctx_ = ctx
 	return c
@@ -2325,9 +2381,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resume")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"name": c.name,
@@ -2408,10 +2468,9 @@
 // method id "storagetransfer.getGoogleServiceAccount":
 
 type V1GetGoogleServiceAccountCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetGoogleServiceAccount: Returns the Google service account that is
@@ -2423,7 +2482,7 @@
 // account is created and owned by Storage Transfer Service and can only
 // be used by Storage Transfer Service.
 func (r *V1Service) GetGoogleServiceAccount() *V1GetGoogleServiceAccountCall {
-	c := &V1GetGoogleServiceAccountCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &V1GetGoogleServiceAccountCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -2431,15 +2490,15 @@
 // Google Developers Console project that the Google service account is
 // associated with. Required.
 func (c *V1GetGoogleServiceAccountCall) ProjectId(projectId string) *V1GetGoogleServiceAccountCall {
-	c.urlParams_.Set("projectId", projectId)
+	c.opt_["projectId"] = projectId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *V1GetGoogleServiceAccountCall) Fields(s ...googleapi.Field) *V1GetGoogleServiceAccountCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2449,13 +2508,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *V1GetGoogleServiceAccountCall) IfNoneMatch(entityTag string) *V1GetGoogleServiceAccountCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *V1GetGoogleServiceAccountCall) Context(ctx context.Context) *V1GetGoogleServiceAccountCall {
 	c.ctx_ = ctx
 	return c
@@ -2463,14 +2522,21 @@
 
 func (c *V1GetGoogleServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projectId"]; ok {
+		params.Set("projectId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1:getGoogleServiceAccount")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/tagmanager/v1/tagmanager-gen.go b/tagmanager/v1/tagmanager-gen.go
index 3e6d3e4..98f2a86 100644
--- a/tagmanager/v1/tagmanager-gen.go
+++ b/tagmanager/v1/tagmanager-gen.go
@@ -1538,25 +1538,24 @@
 // method id "tagmanager.accounts.get":
 
 type AccountsGetCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Gets a GTM Account.
 func (r *AccountsService) Get(accountId string) *AccountsGetCall {
-	c := &AccountsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1566,13 +1565,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1580,16 +1579,20 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1663,23 +1666,22 @@
 // method id "tagmanager.accounts.list":
 
 type AccountsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists all GTM Accounts that a user has access to.
 func (r *AccountsService) List() *AccountsListCall {
-	c := &AccountsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1689,13 +1691,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1703,14 +1705,18 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1773,16 +1779,16 @@
 // method id "tagmanager.accounts.update":
 
 type AccountsUpdateCall struct {
-	s          *Service
-	accountId  string
-	account    *Account
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	account   *Account
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Update: Updates a GTM Account.
 func (r *AccountsService) Update(accountId string, account *Account) *AccountsUpdateCall {
-	c := &AccountsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.account = account
 	return c
@@ -1792,21 +1798,21 @@
 // this fingerprint must match the fingerprint of the account in
 // storage.
 func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1819,9 +1825,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -1906,32 +1919,32 @@
 // method id "tagmanager.accounts.containers.create":
 
 type AccountsContainersCreateCall struct {
-	s          *Service
-	accountId  string
-	container  *Container
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	accountId string
+	container *Container
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Create: Creates a Container.
 func (r *AccountsContainersService) Create(accountId string, container *Container) *AccountsContainersCreateCall {
-	c := &AccountsContainersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.container = container
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersCreateCall) Context(ctx context.Context) *AccountsContainersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -1944,9 +1957,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -2029,29 +2046,29 @@
 	s           *Service
 	accountId   string
 	containerId string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a Container.
 func (r *AccountsContainersService) Delete(accountId string, containerId string) *AccountsContainersDeleteCall {
-	c := &AccountsContainersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersDeleteCall) Context(ctx context.Context) *AccountsContainersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2059,9 +2076,13 @@
 
 func (c *AccountsContainersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -2118,27 +2139,26 @@
 // method id "tagmanager.accounts.containers.get":
 
 type AccountsContainersGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a Container.
 func (r *AccountsContainersService) Get(accountId string, containerId string) *AccountsContainersGetCall {
-	c := &AccountsContainersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersGetCall) Fields(s ...googleapi.Field) *AccountsContainersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2148,13 +2168,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersGetCall) IfNoneMatch(entityTag string) *AccountsContainersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersGetCall) Context(ctx context.Context) *AccountsContainersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2162,17 +2182,21 @@
 
 func (c *AccountsContainersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2252,25 +2276,24 @@
 // method id "tagmanager.accounts.containers.list":
 
 type AccountsContainersListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: Lists all Containers that belongs to a GTM Account.
 func (r *AccountsContainersService) List(accountId string) *AccountsContainersListCall {
-	c := &AccountsContainersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersListCall) Fields(s ...googleapi.Field) *AccountsContainersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2280,13 +2303,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersListCall) IfNoneMatch(entityTag string) *AccountsContainersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersListCall) Context(ctx context.Context) *AccountsContainersListCall {
 	c.ctx_ = ctx
 	return c
@@ -2294,16 +2317,20 @@
 
 func (c *AccountsContainersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2380,13 +2407,13 @@
 	accountId   string
 	containerId string
 	container   *Container
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a Container.
 func (r *AccountsContainersService) Update(accountId string, containerId string, container *Container) *AccountsContainersUpdateCall {
-	c := &AccountsContainersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.container = container
@@ -2397,21 +2424,21 @@
 // this fingerprint must match the fingerprint of the container in
 // storage.
 func (c *AccountsContainersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersUpdateCall) Context(ctx context.Context) *AccountsContainersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2424,9 +2451,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -2523,30 +2557,30 @@
 	accountId   string
 	containerId string
 	folder      *Folder
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a GTM Folder.
 func (r *AccountsContainersFoldersService) Create(accountId string, containerId string, folder *Folder) *AccountsContainersFoldersCreateCall {
-	c := &AccountsContainersFoldersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersFoldersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.folder = folder
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersFoldersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersFoldersCreateCall) Context(ctx context.Context) *AccountsContainersFoldersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -2559,9 +2593,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -2653,30 +2691,30 @@
 	accountId   string
 	containerId string
 	folderId    string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a GTM Folder.
 func (r *AccountsContainersFoldersService) Delete(accountId string, containerId string, folderId string) *AccountsContainersFoldersDeleteCall {
-	c := &AccountsContainersFoldersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersFoldersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.folderId = folderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersFoldersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersFoldersDeleteCall) Context(ctx context.Context) *AccountsContainersFoldersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -2684,9 +2722,13 @@
 
 func (c *AccountsContainersFoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -2751,29 +2793,28 @@
 // method id "tagmanager.accounts.containers.folders.get":
 
 type AccountsContainersFoldersGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	folderId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	folderId    string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a GTM Folder.
 func (r *AccountsContainersFoldersService) Get(accountId string, containerId string, folderId string) *AccountsContainersFoldersGetCall {
-	c := &AccountsContainersFoldersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersFoldersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.folderId = folderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersFoldersGetCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2783,13 +2824,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersFoldersGetCall) IfNoneMatch(entityTag string) *AccountsContainersFoldersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersFoldersGetCall) Context(ctx context.Context) *AccountsContainersFoldersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -2797,9 +2838,13 @@
 
 func (c *AccountsContainersFoldersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -2807,8 +2852,8 @@
 		"folderId":    c.folderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2895,27 +2940,26 @@
 // method id "tagmanager.accounts.containers.folders.list":
 
 type AccountsContainersFoldersListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all GTM Folders of a Container.
 func (r *AccountsContainersFoldersService) List(accountId string, containerId string) *AccountsContainersFoldersListCall {
-	c := &AccountsContainersFoldersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersFoldersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersFoldersListCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2925,13 +2969,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersFoldersListCall) IfNoneMatch(entityTag string) *AccountsContainersFoldersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersFoldersListCall) Context(ctx context.Context) *AccountsContainersFoldersListCall {
 	c.ctx_ = ctx
 	return c
@@ -2939,17 +2983,21 @@
 
 func (c *AccountsContainersFoldersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3034,13 +3082,13 @@
 	containerId string
 	folderId    string
 	folder      *Folder
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a GTM Folder.
 func (r *AccountsContainersFoldersService) Update(accountId string, containerId string, folderId string, folder *Folder) *AccountsContainersFoldersUpdateCall {
-	c := &AccountsContainersFoldersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersFoldersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.folderId = folderId
@@ -3051,21 +3099,21 @@
 // Fingerprint sets the optional parameter "fingerprint": When provided,
 // this fingerprint must match the fingerprint of the folder in storage.
 func (c *AccountsContainersFoldersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersFoldersUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersFoldersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersFoldersUpdateCall) Context(ctx context.Context) *AccountsContainersFoldersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3078,9 +3126,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -3181,29 +3236,28 @@
 // method id "tagmanager.accounts.containers.folders.entities.list":
 
 type AccountsContainersFoldersEntitiesListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	folderId     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	folderId    string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: List all entities in a GTM Folder.
 func (r *AccountsContainersFoldersEntitiesService) List(accountId string, containerId string, folderId string) *AccountsContainersFoldersEntitiesListCall {
-	c := &AccountsContainersFoldersEntitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersFoldersEntitiesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.folderId = folderId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersFoldersEntitiesListCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersEntitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3213,13 +3267,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersFoldersEntitiesListCall) IfNoneMatch(entityTag string) *AccountsContainersFoldersEntitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersFoldersEntitiesListCall) Context(ctx context.Context) *AccountsContainersFoldersEntitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -3227,9 +3281,13 @@
 
 func (c *AccountsContainersFoldersEntitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -3237,8 +3295,8 @@
 		"folderId":    c.folderId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3329,30 +3387,30 @@
 	accountId   string
 	containerId string
 	macro       *Macro
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a GTM Macro.
 func (r *AccountsContainersMacrosService) Create(accountId string, containerId string, macro *Macro) *AccountsContainersMacrosCreateCall {
-	c := &AccountsContainersMacrosCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersMacrosCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.macro = macro
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersMacrosCreateCall) Fields(s ...googleapi.Field) *AccountsContainersMacrosCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersMacrosCreateCall) Context(ctx context.Context) *AccountsContainersMacrosCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -3365,9 +3423,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/macros")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -3459,30 +3521,30 @@
 	accountId   string
 	containerId string
 	macroId     string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a GTM Macro.
 func (r *AccountsContainersMacrosService) Delete(accountId string, containerId string, macroId string) *AccountsContainersMacrosDeleteCall {
-	c := &AccountsContainersMacrosDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersMacrosDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.macroId = macroId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersMacrosDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersMacrosDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersMacrosDeleteCall) Context(ctx context.Context) *AccountsContainersMacrosDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -3490,9 +3552,13 @@
 
 func (c *AccountsContainersMacrosDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/macros/{macroId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -3557,29 +3623,28 @@
 // method id "tagmanager.accounts.containers.macros.get":
 
 type AccountsContainersMacrosGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	macroId      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	macroId     string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a GTM Macro.
 func (r *AccountsContainersMacrosService) Get(accountId string, containerId string, macroId string) *AccountsContainersMacrosGetCall {
-	c := &AccountsContainersMacrosGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersMacrosGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.macroId = macroId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersMacrosGetCall) Fields(s ...googleapi.Field) *AccountsContainersMacrosGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3589,13 +3654,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersMacrosGetCall) IfNoneMatch(entityTag string) *AccountsContainersMacrosGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersMacrosGetCall) Context(ctx context.Context) *AccountsContainersMacrosGetCall {
 	c.ctx_ = ctx
 	return c
@@ -3603,9 +3668,13 @@
 
 func (c *AccountsContainersMacrosGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/macros/{macroId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -3613,8 +3682,8 @@
 		"macroId":     c.macroId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3701,27 +3770,26 @@
 // method id "tagmanager.accounts.containers.macros.list":
 
 type AccountsContainersMacrosListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all GTM Macros of a Container.
 func (r *AccountsContainersMacrosService) List(accountId string, containerId string) *AccountsContainersMacrosListCall {
-	c := &AccountsContainersMacrosListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersMacrosListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersMacrosListCall) Fields(s ...googleapi.Field) *AccountsContainersMacrosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -3731,13 +3799,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersMacrosListCall) IfNoneMatch(entityTag string) *AccountsContainersMacrosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersMacrosListCall) Context(ctx context.Context) *AccountsContainersMacrosListCall {
 	c.ctx_ = ctx
 	return c
@@ -3745,17 +3813,21 @@
 
 func (c *AccountsContainersMacrosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/macros")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -3840,13 +3912,13 @@
 	containerId string
 	macroId     string
 	macro       *Macro
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a GTM Macro.
 func (r *AccountsContainersMacrosService) Update(accountId string, containerId string, macroId string, macro *Macro) *AccountsContainersMacrosUpdateCall {
-	c := &AccountsContainersMacrosUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersMacrosUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.macroId = macroId
@@ -3857,21 +3929,21 @@
 // Fingerprint sets the optional parameter "fingerprint": When provided,
 // this fingerprint must match the fingerprint of the macro in storage.
 func (c *AccountsContainersMacrosUpdateCall) Fingerprint(fingerprint string) *AccountsContainersMacrosUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersMacrosUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersMacrosUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersMacrosUpdateCall) Context(ctx context.Context) *AccountsContainersMacrosUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -3884,9 +3956,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/macros/{macroId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -3991,13 +4070,13 @@
 	accountId   string
 	containerId string
 	folderId    string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Moves entities to a GTM Folder.
 func (r *AccountsContainersMoveFoldersService) Update(accountId string, containerId string, folderId string) *AccountsContainersMoveFoldersUpdateCall {
-	c := &AccountsContainersMoveFoldersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersMoveFoldersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.folderId = folderId
@@ -4006,36 +4085,36 @@
 
 // TagId sets the optional parameter "tagId": The tags to be moved to
 // the folder.
-func (c *AccountsContainersMoveFoldersUpdateCall) TagId(tagId []string) *AccountsContainersMoveFoldersUpdateCall {
-	c.urlParams_.SetMulti("tagId", append([]string{}, tagId...))
+func (c *AccountsContainersMoveFoldersUpdateCall) TagId(tagId string) *AccountsContainersMoveFoldersUpdateCall {
+	c.opt_["tagId"] = tagId
 	return c
 }
 
 // TriggerId sets the optional parameter "triggerId": The triggers to be
 // moved to the folder.
-func (c *AccountsContainersMoveFoldersUpdateCall) TriggerId(triggerId []string) *AccountsContainersMoveFoldersUpdateCall {
-	c.urlParams_.SetMulti("triggerId", append([]string{}, triggerId...))
+func (c *AccountsContainersMoveFoldersUpdateCall) TriggerId(triggerId string) *AccountsContainersMoveFoldersUpdateCall {
+	c.opt_["triggerId"] = triggerId
 	return c
 }
 
 // VariableId sets the optional parameter "variableId": The variables to
 // be moved to the folder.
-func (c *AccountsContainersMoveFoldersUpdateCall) VariableId(variableId []string) *AccountsContainersMoveFoldersUpdateCall {
-	c.urlParams_.SetMulti("variableId", append([]string{}, variableId...))
+func (c *AccountsContainersMoveFoldersUpdateCall) VariableId(variableId string) *AccountsContainersMoveFoldersUpdateCall {
+	c.opt_["variableId"] = variableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersMoveFoldersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersMoveFoldersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersMoveFoldersUpdateCall) Context(ctx context.Context) *AccountsContainersMoveFoldersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4043,9 +4122,22 @@
 
 func (c *AccountsContainersMoveFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["tagId"]; ok {
+		params.Set("tagId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["triggerId"]; ok {
+		params.Set("triggerId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["variableId"]; ok {
+		params.Set("variableId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/move_folders/{folderId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -4129,30 +4221,30 @@
 	accountId   string
 	containerId string
 	rule        *Rule
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a GTM Rule.
 func (r *AccountsContainersRulesService) Create(accountId string, containerId string, rule *Rule) *AccountsContainersRulesCreateCall {
-	c := &AccountsContainersRulesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersRulesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.rule = rule
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersRulesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersRulesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersRulesCreateCall) Context(ctx context.Context) *AccountsContainersRulesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -4165,9 +4257,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/rules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -4259,30 +4355,30 @@
 	accountId   string
 	containerId string
 	ruleId      string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a GTM Rule.
 func (r *AccountsContainersRulesService) Delete(accountId string, containerId string, ruleId string) *AccountsContainersRulesDeleteCall {
-	c := &AccountsContainersRulesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersRulesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.ruleId = ruleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersRulesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersRulesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersRulesDeleteCall) Context(ctx context.Context) *AccountsContainersRulesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4290,9 +4386,13 @@
 
 func (c *AccountsContainersRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/rules/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -4357,29 +4457,28 @@
 // method id "tagmanager.accounts.containers.rules.get":
 
 type AccountsContainersRulesGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	ruleId       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	ruleId      string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a GTM Rule.
 func (r *AccountsContainersRulesService) Get(accountId string, containerId string, ruleId string) *AccountsContainersRulesGetCall {
-	c := &AccountsContainersRulesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersRulesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.ruleId = ruleId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersRulesGetCall) Fields(s ...googleapi.Field) *AccountsContainersRulesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4389,13 +4488,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersRulesGetCall) IfNoneMatch(entityTag string) *AccountsContainersRulesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersRulesGetCall) Context(ctx context.Context) *AccountsContainersRulesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -4403,9 +4502,13 @@
 
 func (c *AccountsContainersRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/rules/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -4413,8 +4516,8 @@
 		"ruleId":      c.ruleId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4501,27 +4604,26 @@
 // method id "tagmanager.accounts.containers.rules.list":
 
 type AccountsContainersRulesListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all GTM Rules of a Container.
 func (r *AccountsContainersRulesService) List(accountId string, containerId string) *AccountsContainersRulesListCall {
-	c := &AccountsContainersRulesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersRulesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersRulesListCall) Fields(s ...googleapi.Field) *AccountsContainersRulesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -4531,13 +4633,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersRulesListCall) IfNoneMatch(entityTag string) *AccountsContainersRulesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersRulesListCall) Context(ctx context.Context) *AccountsContainersRulesListCall {
 	c.ctx_ = ctx
 	return c
@@ -4545,17 +4647,21 @@
 
 func (c *AccountsContainersRulesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/rules")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -4640,13 +4746,13 @@
 	containerId string
 	ruleId      string
 	rule        *Rule
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a GTM Rule.
 func (r *AccountsContainersRulesService) Update(accountId string, containerId string, ruleId string, rule *Rule) *AccountsContainersRulesUpdateCall {
-	c := &AccountsContainersRulesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersRulesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.ruleId = ruleId
@@ -4657,21 +4763,21 @@
 // Fingerprint sets the optional parameter "fingerprint": When provided,
 // this fingerprint must match the fingerprint of the rule in storage.
 func (c *AccountsContainersRulesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersRulesUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersRulesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersRulesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersRulesUpdateCall) Context(ctx context.Context) *AccountsContainersRulesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -4684,9 +4790,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/rules/{ruleId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -4791,30 +4904,30 @@
 	accountId   string
 	containerId string
 	tag         *Tag
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a GTM Tag.
 func (r *AccountsContainersTagsService) Create(accountId string, containerId string, tag *Tag) *AccountsContainersTagsCreateCall {
-	c := &AccountsContainersTagsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTagsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.tag = tag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTagsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersTagsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTagsCreateCall) Context(ctx context.Context) *AccountsContainersTagsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -4827,9 +4940,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -4921,30 +5038,30 @@
 	accountId   string
 	containerId string
 	tagId       string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a GTM Tag.
 func (r *AccountsContainersTagsService) Delete(accountId string, containerId string, tagId string) *AccountsContainersTagsDeleteCall {
-	c := &AccountsContainersTagsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTagsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.tagId = tagId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTagsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersTagsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTagsDeleteCall) Context(ctx context.Context) *AccountsContainersTagsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -4952,9 +5069,13 @@
 
 func (c *AccountsContainersTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags/{tagId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -5019,29 +5140,28 @@
 // method id "tagmanager.accounts.containers.tags.get":
 
 type AccountsContainersTagsGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	tagId        string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	tagId       string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a GTM Tag.
 func (r *AccountsContainersTagsService) Get(accountId string, containerId string, tagId string) *AccountsContainersTagsGetCall {
-	c := &AccountsContainersTagsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTagsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.tagId = tagId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTagsGetCall) Fields(s ...googleapi.Field) *AccountsContainersTagsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5051,13 +5171,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersTagsGetCall) IfNoneMatch(entityTag string) *AccountsContainersTagsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTagsGetCall) Context(ctx context.Context) *AccountsContainersTagsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5065,9 +5185,13 @@
 
 func (c *AccountsContainersTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags/{tagId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -5075,8 +5199,8 @@
 		"tagId":       c.tagId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5163,27 +5287,26 @@
 // method id "tagmanager.accounts.containers.tags.list":
 
 type AccountsContainersTagsListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all GTM Tags of a Container.
 func (r *AccountsContainersTagsService) List(accountId string, containerId string) *AccountsContainersTagsListCall {
-	c := &AccountsContainersTagsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTagsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTagsListCall) Fields(s ...googleapi.Field) *AccountsContainersTagsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5193,13 +5316,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersTagsListCall) IfNoneMatch(entityTag string) *AccountsContainersTagsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTagsListCall) Context(ctx context.Context) *AccountsContainersTagsListCall {
 	c.ctx_ = ctx
 	return c
@@ -5207,17 +5330,21 @@
 
 func (c *AccountsContainersTagsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5302,13 +5429,13 @@
 	containerId string
 	tagId       string
 	tag         *Tag
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a GTM Tag.
 func (r *AccountsContainersTagsService) Update(accountId string, containerId string, tagId string, tag *Tag) *AccountsContainersTagsUpdateCall {
-	c := &AccountsContainersTagsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTagsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.tagId = tagId
@@ -5319,21 +5446,21 @@
 // Fingerprint sets the optional parameter "fingerprint": When provided,
 // this fingerprint must match the fingerprint of the tag in storage.
 func (c *AccountsContainersTagsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersTagsUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTagsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersTagsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTagsUpdateCall) Context(ctx context.Context) *AccountsContainersTagsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -5346,9 +5473,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/tags/{tagId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -5453,30 +5587,30 @@
 	accountId   string
 	containerId string
 	trigger     *Trigger
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a GTM Trigger.
 func (r *AccountsContainersTriggersService) Create(accountId string, containerId string, trigger *Trigger) *AccountsContainersTriggersCreateCall {
-	c := &AccountsContainersTriggersCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTriggersCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.trigger = trigger
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTriggersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTriggersCreateCall) Context(ctx context.Context) *AccountsContainersTriggersCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -5489,9 +5623,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -5583,30 +5721,30 @@
 	accountId   string
 	containerId string
 	triggerId   string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a GTM Trigger.
 func (r *AccountsContainersTriggersService) Delete(accountId string, containerId string, triggerId string) *AccountsContainersTriggersDeleteCall {
-	c := &AccountsContainersTriggersDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTriggersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.triggerId = triggerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTriggersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTriggersDeleteCall) Context(ctx context.Context) *AccountsContainersTriggersDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -5614,9 +5752,13 @@
 
 func (c *AccountsContainersTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -5681,29 +5823,28 @@
 // method id "tagmanager.accounts.containers.triggers.get":
 
 type AccountsContainersTriggersGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	triggerId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	triggerId   string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a GTM Trigger.
 func (r *AccountsContainersTriggersService) Get(accountId string, containerId string, triggerId string) *AccountsContainersTriggersGetCall {
-	c := &AccountsContainersTriggersGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTriggersGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.triggerId = triggerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTriggersGetCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5713,13 +5854,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersTriggersGetCall) IfNoneMatch(entityTag string) *AccountsContainersTriggersGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTriggersGetCall) Context(ctx context.Context) *AccountsContainersTriggersGetCall {
 	c.ctx_ = ctx
 	return c
@@ -5727,9 +5868,13 @@
 
 func (c *AccountsContainersTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -5737,8 +5882,8 @@
 		"triggerId":   c.triggerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5825,27 +5970,26 @@
 // method id "tagmanager.accounts.containers.triggers.list":
 
 type AccountsContainersTriggersListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all GTM Triggers of a Container.
 func (r *AccountsContainersTriggersService) List(accountId string, containerId string) *AccountsContainersTriggersListCall {
-	c := &AccountsContainersTriggersListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTriggersListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTriggersListCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -5855,13 +5999,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersTriggersListCall) IfNoneMatch(entityTag string) *AccountsContainersTriggersListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTriggersListCall) Context(ctx context.Context) *AccountsContainersTriggersListCall {
 	c.ctx_ = ctx
 	return c
@@ -5869,17 +6013,21 @@
 
 func (c *AccountsContainersTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -5964,13 +6112,13 @@
 	containerId string
 	triggerId   string
 	trigger     *Trigger
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a GTM Trigger.
 func (r *AccountsContainersTriggersService) Update(accountId string, containerId string, triggerId string, trigger *Trigger) *AccountsContainersTriggersUpdateCall {
-	c := &AccountsContainersTriggersUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersTriggersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.triggerId = triggerId
@@ -5982,21 +6130,21 @@
 // this fingerprint must match the fingerprint of the trigger in
 // storage.
 func (c *AccountsContainersTriggersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersTriggersUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersTriggersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersTriggersUpdateCall) Context(ctx context.Context) *AccountsContainersTriggersUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6009,9 +6157,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -6116,30 +6271,30 @@
 	accountId   string
 	containerId string
 	variable    *Variable
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Create: Creates a GTM Variable.
 func (r *AccountsContainersVariablesService) Create(accountId string, containerId string, variable *Variable) *AccountsContainersVariablesCreateCall {
-	c := &AccountsContainersVariablesCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVariablesCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.variable = variable
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVariablesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVariablesCreateCall) Context(ctx context.Context) *AccountsContainersVariablesCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -6152,9 +6307,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -6246,30 +6405,30 @@
 	accountId   string
 	containerId string
 	variableId  string
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Delete: Deletes a GTM Variable.
 func (r *AccountsContainersVariablesService) Delete(accountId string, containerId string, variableId string) *AccountsContainersVariablesDeleteCall {
-	c := &AccountsContainersVariablesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVariablesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.variableId = variableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVariablesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVariablesDeleteCall) Context(ctx context.Context) *AccountsContainersVariablesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6277,9 +6436,13 @@
 
 func (c *AccountsContainersVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables/{variableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -6344,29 +6507,28 @@
 // method id "tagmanager.accounts.containers.variables.get":
 
 type AccountsContainersVariablesGetCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	variableId   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	variableId  string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // Get: Gets a GTM Variable.
 func (r *AccountsContainersVariablesService) Get(accountId string, containerId string, variableId string) *AccountsContainersVariablesGetCall {
-	c := &AccountsContainersVariablesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVariablesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.variableId = variableId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVariablesGetCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6376,13 +6538,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersVariablesGetCall) IfNoneMatch(entityTag string) *AccountsContainersVariablesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVariablesGetCall) Context(ctx context.Context) *AccountsContainersVariablesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -6390,9 +6552,13 @@
 
 func (c *AccountsContainersVariablesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables/{variableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -6400,8 +6566,8 @@
 		"variableId":  c.variableId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6488,27 +6654,26 @@
 // method id "tagmanager.accounts.containers.variables.list":
 
 type AccountsContainersVariablesListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all GTM Variables of a Container.
 func (r *AccountsContainersVariablesService) List(accountId string, containerId string) *AccountsContainersVariablesListCall {
-	c := &AccountsContainersVariablesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVariablesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVariablesListCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -6518,13 +6683,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersVariablesListCall) IfNoneMatch(entityTag string) *AccountsContainersVariablesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVariablesListCall) Context(ctx context.Context) *AccountsContainersVariablesListCall {
 	c.ctx_ = ctx
 	return c
@@ -6532,17 +6697,21 @@
 
 func (c *AccountsContainersVariablesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -6627,13 +6796,13 @@
 	containerId string
 	variableId  string
 	variable    *Variable
-	urlParams_  internal.URLParams
+	opt_        map[string]interface{}
 	ctx_        context.Context
 }
 
 // Update: Updates a GTM Variable.
 func (r *AccountsContainersVariablesService) Update(accountId string, containerId string, variableId string, variable *Variable) *AccountsContainersVariablesUpdateCall {
-	c := &AccountsContainersVariablesUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVariablesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.variableId = variableId
@@ -6645,21 +6814,21 @@
 // this fingerprint must match the fingerprint of the variable in
 // storage.
 func (c *AccountsContainersVariablesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVariablesUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVariablesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVariablesUpdateCall) Context(ctx context.Context) *AccountsContainersVariablesUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -6672,9 +6841,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/variables/{variableId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -6779,30 +6955,30 @@
 	accountId                                   string
 	containerId                                 string
 	createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions
-	urlParams_                                  internal.URLParams
+	opt_                                        map[string]interface{}
 	ctx_                                        context.Context
 }
 
 // Create: Creates a Container Version.
 func (r *AccountsContainersVersionsService) Create(accountId string, containerId string, createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions) *AccountsContainersVersionsCreateCall {
-	c := &AccountsContainersVersionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.createcontainerversionrequestversionoptions = createcontainerversionrequestversionoptions
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsCreateCall) Context(ctx context.Context) *AccountsContainersVersionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -6815,9 +6991,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
@@ -6909,30 +7089,30 @@
 	accountId          string
 	containerId        string
 	containerVersionId string
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Delete: Deletes a Container Version.
 func (r *AccountsContainersVersionsService) Delete(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsDeleteCall {
-	c := &AccountsContainersVersionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.containerVersionId = containerVersionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsDeleteCall) Context(ctx context.Context) *AccountsContainersVersionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -6940,9 +7120,13 @@
 
 func (c *AccountsContainersVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -7011,25 +7195,24 @@
 	accountId          string
 	containerId        string
 	containerVersionId string
-	urlParams_         internal.URLParams
-	ifNoneMatch_       string
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Get: Gets a Container Version.
 func (r *AccountsContainersVersionsService) Get(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsGetCall {
-	c := &AccountsContainersVersionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.containerVersionId = containerVersionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsGetCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7039,13 +7222,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersVersionsGetCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsGetCall) Context(ctx context.Context) *AccountsContainersVersionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -7053,9 +7236,13 @@
 
 func (c *AccountsContainersVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -7063,8 +7250,8 @@
 		"containerVersionId": c.containerVersionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7152,17 +7339,16 @@
 // method id "tagmanager.accounts.containers.versions.list":
 
 type AccountsContainersVersionsListCall struct {
-	s            *Service
-	accountId    string
-	containerId  string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s           *Service
+	accountId   string
+	containerId string
+	opt_        map[string]interface{}
+	ctx_        context.Context
 }
 
 // List: Lists all Container Versions of a GTM Container.
 func (r *AccountsContainersVersionsService) List(accountId string, containerId string) *AccountsContainersVersionsListCall {
-	c := &AccountsContainersVersionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	return c
@@ -7171,15 +7357,15 @@
 // Headers sets the optional parameter "headers": Retrieve headers only
 // when true.
 func (c *AccountsContainersVersionsListCall) Headers(headers bool) *AccountsContainersVersionsListCall {
-	c.urlParams_.Set("headers", fmt.Sprintf("%v", headers))
+	c.opt_["headers"] = headers
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsListCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7189,13 +7375,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsContainersVersionsListCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsListCall) Context(ctx context.Context) *AccountsContainersVersionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -7203,17 +7389,24 @@
 
 func (c *AccountsContainersVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["headers"]; ok {
+		params.Set("headers", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":   c.accountId,
 		"containerId": c.containerId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7304,13 +7497,13 @@
 	accountId          string
 	containerId        string
 	containerVersionId string
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Publish: Publishes a Container Version.
 func (r *AccountsContainersVersionsService) Publish(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsPublishCall {
-	c := &AccountsContainersVersionsPublishCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsPublishCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.containerVersionId = containerVersionId
@@ -7321,21 +7514,21 @@
 // this fingerprint must match the fingerprint of the container version
 // in storage.
 func (c *AccountsContainersVersionsPublishCall) Fingerprint(fingerprint string) *AccountsContainersVersionsPublishCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsPublishCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsPublishCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsPublishCall) Context(ctx context.Context) *AccountsContainersVersionsPublishCall {
 	c.ctx_ = ctx
 	return c
@@ -7343,9 +7536,16 @@
 
 func (c *AccountsContainersVersionsPublishCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -7446,7 +7646,7 @@
 	accountId          string
 	containerId        string
 	containerVersionId string
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
@@ -7455,24 +7655,24 @@
 // tags). The operation will not have any effect on the version that is
 // being served (i.e. the published version).
 func (r *AccountsContainersVersionsService) Restore(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsRestoreCall {
-	c := &AccountsContainersVersionsRestoreCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsRestoreCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.containerVersionId = containerVersionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsRestoreCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsRestoreCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsRestoreCall) Context(ctx context.Context) *AccountsContainersVersionsRestoreCall {
 	c.ctx_ = ctx
 	return c
@@ -7480,9 +7680,13 @@
 
 func (c *AccountsContainersVersionsRestoreCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -7578,30 +7782,30 @@
 	accountId          string
 	containerId        string
 	containerVersionId string
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Undelete: Undeletes a Container Version.
 func (r *AccountsContainersVersionsService) Undelete(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsUndeleteCall {
-	c := &AccountsContainersVersionsUndeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsUndeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.containerVersionId = containerVersionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsUndeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUndeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsUndeleteCall) Context(ctx context.Context) *AccountsContainersVersionsUndeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7609,9 +7813,13 @@
 
 func (c *AccountsContainersVersionsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -7708,13 +7916,13 @@
 	containerId        string
 	containerVersionId string
 	containerversion   *ContainerVersion
-	urlParams_         internal.URLParams
+	opt_               map[string]interface{}
 	ctx_               context.Context
 }
 
 // Update: Updates a Container Version.
 func (r *AccountsContainersVersionsService) Update(accountId string, containerId string, containerVersionId string, containerversion *ContainerVersion) *AccountsContainersVersionsUpdateCall {
-	c := &AccountsContainersVersionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsContainersVersionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.containerId = containerId
 	c.containerVersionId = containerVersionId
@@ -7726,21 +7934,21 @@
 // this fingerprint must match the fingerprint of the container version
 // in storage.
 func (c *AccountsContainersVersionsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVersionsUpdateCall {
-	c.urlParams_.Set("fingerprint", fingerprint)
+	c.opt_["fingerprint"] = fingerprint
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsContainersVersionsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsContainersVersionsUpdateCall) Context(ctx context.Context) *AccountsContainersVersionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -7753,9 +7961,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fingerprint"]; ok {
+		params.Set("fingerprint", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":          c.accountId,
@@ -7859,29 +8074,29 @@
 	s          *Service
 	accountId  string
 	useraccess *UserAccess
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Create: Creates a user's Account & Container Permissions.
 func (r *AccountsPermissionsService) Create(accountId string, useraccess *UserAccess) *AccountsPermissionsCreateCall {
-	c := &AccountsPermissionsCreateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPermissionsCreateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.useraccess = useraccess
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPermissionsCreateCall) Fields(s ...googleapi.Field) *AccountsPermissionsCreateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPermissionsCreateCall) Context(ctx context.Context) *AccountsPermissionsCreateCall {
 	c.ctx_ = ctx
 	return c
@@ -7894,9 +8109,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
@@ -7979,30 +8198,30 @@
 	s            *Service
 	accountId    string
 	permissionId string
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Delete: Removes a user from the account, revoking access to it and
 // all of its containers.
 func (r *AccountsPermissionsService) Delete(accountId string, permissionId string) *AccountsPermissionsDeleteCall {
-	c := &AccountsPermissionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPermissionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.permissionId = permissionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPermissionsDeleteCall) Fields(s ...googleapi.Field) *AccountsPermissionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPermissionsDeleteCall) Context(ctx context.Context) *AccountsPermissionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8010,9 +8229,13 @@
 
 func (c *AccountsPermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":    c.accountId,
@@ -8072,24 +8295,23 @@
 	s            *Service
 	accountId    string
 	permissionId string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Get: Gets a user's Account & Container Permissions.
 func (r *AccountsPermissionsService) Get(accountId string, permissionId string) *AccountsPermissionsGetCall {
-	c := &AccountsPermissionsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPermissionsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.permissionId = permissionId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPermissionsGetCall) Fields(s ...googleapi.Field) *AccountsPermissionsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8099,13 +8321,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsPermissionsGetCall) IfNoneMatch(entityTag string) *AccountsPermissionsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPermissionsGetCall) Context(ctx context.Context) *AccountsPermissionsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -8113,17 +8335,21 @@
 
 func (c *AccountsPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":    c.accountId,
 		"permissionId": c.permissionId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8202,26 +8428,25 @@
 // method id "tagmanager.accounts.permissions.list":
 
 type AccountsPermissionsListCall struct {
-	s            *Service
-	accountId    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	accountId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List all users that have access to the account along with
 // Account and Container Permissions granted to each of them.
 func (r *AccountsPermissionsService) List(accountId string) *AccountsPermissionsListCall {
-	c := &AccountsPermissionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPermissionsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPermissionsListCall) Fields(s ...googleapi.Field) *AccountsPermissionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8231,13 +8456,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *AccountsPermissionsListCall) IfNoneMatch(entityTag string) *AccountsPermissionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPermissionsListCall) Context(ctx context.Context) *AccountsPermissionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8245,16 +8470,20 @@
 
 func (c *AccountsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId": c.accountId,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8330,30 +8559,30 @@
 	accountId    string
 	permissionId string
 	useraccess   *UserAccess
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Updates a user's Account & Container Permissions.
 func (r *AccountsPermissionsService) Update(accountId string, permissionId string, useraccess *UserAccess) *AccountsPermissionsUpdateCall {
-	c := &AccountsPermissionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &AccountsPermissionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.accountId = accountId
 	c.permissionId = permissionId
 	c.useraccess = useraccess
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *AccountsPermissionsUpdateCall) Fields(s ...googleapi.Field) *AccountsPermissionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *AccountsPermissionsUpdateCall) Context(ctx context.Context) *AccountsPermissionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -8366,9 +8595,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{accountId}/permissions/{permissionId}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"accountId":    c.accountId,
diff --git a/taskqueue/v1beta1/taskqueue-gen.go b/taskqueue/v1beta1/taskqueue-gen.go
index 0bcccf3..2f2c9b4 100644
--- a/taskqueue/v1beta1/taskqueue-gen.go
+++ b/taskqueue/v1beta1/taskqueue-gen.go
@@ -293,17 +293,16 @@
 // method id "taskqueue.taskqueues.get":
 
 type TaskqueuesGetCall struct {
-	s            *Service
-	project      string
-	taskqueue    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get detailed information about a TaskQueue.
 func (r *TaskqueuesService) Get(project string, taskqueue string) *TaskqueuesGetCall {
-	c := &TaskqueuesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskqueuesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	return c
@@ -312,15 +311,15 @@
 // GetStats sets the optional parameter "getStats": Whether to get
 // stats.
 func (c *TaskqueuesGetCall) GetStats(getStats bool) *TaskqueuesGetCall {
-	c.urlParams_.Set("getStats", fmt.Sprintf("%v", getStats))
+	c.opt_["getStats"] = getStats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskqueuesGetCall) Fields(s ...googleapi.Field) *TaskqueuesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -330,13 +329,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TaskqueuesGetCall) IfNoneMatch(entityTag string) *TaskqueuesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskqueuesGetCall) Context(ctx context.Context) *TaskqueuesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -344,17 +343,24 @@
 
 func (c *TaskqueuesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["getStats"]; ok {
+		params.Set("getStats", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"taskqueue": c.taskqueue,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -439,34 +445,34 @@
 // method id "taskqueue.tasks.delete":
 
 type TasksDeleteCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	task       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	task      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Delete a task from a TaskQueue.
 func (r *TasksService) Delete(project string, taskqueue string, task string) *TasksDeleteCall {
-	c := &TasksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksDeleteCall) Fields(s ...googleapi.Field) *TasksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksDeleteCall) Context(ctx context.Context) *TasksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -474,9 +480,13 @@
 
 func (c *TasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -542,29 +552,28 @@
 // method id "taskqueue.tasks.get":
 
 type TasksGetCall struct {
-	s            *Service
-	project      string
-	taskqueue    string
-	task         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	task      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get a particular task from a TaskQueue.
 func (r *TasksService) Get(project string, taskqueue string, task string) *TasksGetCall {
-	c := &TasksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksGetCall) Fields(s ...googleapi.Field) *TasksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -574,13 +583,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasksGetCall) IfNoneMatch(entityTag string) *TasksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksGetCall) Context(ctx context.Context) *TasksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -588,9 +597,13 @@
 
 func (c *TasksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -598,8 +611,8 @@
 		"task":      c.task,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -686,34 +699,36 @@
 // method id "taskqueue.tasks.lease":
 
 type TasksLeaseCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	numTasks  int64
+	leaseSecs int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Lease: Lease 1 or more tasks from a TaskQueue.
 func (r *TasksService) Lease(project string, taskqueue string, numTasks int64, leaseSecs int64) *TasksLeaseCall {
-	c := &TasksLeaseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksLeaseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
-	c.urlParams_.Set("numTasks", fmt.Sprintf("%v", numTasks))
-	c.urlParams_.Set("leaseSecs", fmt.Sprintf("%v", leaseSecs))
+	c.numTasks = numTasks
+	c.leaseSecs = leaseSecs
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksLeaseCall) Fields(s ...googleapi.Field) *TasksLeaseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksLeaseCall) Context(ctx context.Context) *TasksLeaseCall {
 	c.ctx_ = ctx
 	return c
@@ -721,9 +736,15 @@
 
 func (c *TasksLeaseCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("leaseSecs", fmt.Sprintf("%v", c.leaseSecs))
+	params.Set("numTasks", fmt.Sprintf("%v", c.numTasks))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/lease")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -824,27 +845,26 @@
 // method id "taskqueue.tasks.list":
 
 type TasksListCall struct {
-	s            *Service
-	project      string
-	taskqueue    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List Tasks in a TaskQueue
 func (r *TasksService) List(project string, taskqueue string) *TasksListCall {
-	c := &TasksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksListCall) Fields(s ...googleapi.Field) *TasksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -854,13 +874,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasksListCall) IfNoneMatch(entityTag string) *TasksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksListCall) Context(ctx context.Context) *TasksListCall {
 	c.ctx_ = ctx
 	return c
@@ -868,17 +888,21 @@
 
 func (c *TasksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"taskqueue": c.taskqueue,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/taskqueue/v1beta2/taskqueue-gen.go b/taskqueue/v1beta2/taskqueue-gen.go
index 14911a8..b288c61 100644
--- a/taskqueue/v1beta2/taskqueue-gen.go
+++ b/taskqueue/v1beta2/taskqueue-gen.go
@@ -300,17 +300,16 @@
 // method id "taskqueue.taskqueues.get":
 
 type TaskqueuesGetCall struct {
-	s            *Service
-	project      string
-	taskqueue    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get detailed information about a TaskQueue.
 func (r *TaskqueuesService) Get(project string, taskqueue string) *TaskqueuesGetCall {
-	c := &TaskqueuesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TaskqueuesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	return c
@@ -319,15 +318,15 @@
 // GetStats sets the optional parameter "getStats": Whether to get
 // stats.
 func (c *TaskqueuesGetCall) GetStats(getStats bool) *TaskqueuesGetCall {
-	c.urlParams_.Set("getStats", fmt.Sprintf("%v", getStats))
+	c.opt_["getStats"] = getStats
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TaskqueuesGetCall) Fields(s ...googleapi.Field) *TaskqueuesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -337,13 +336,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TaskqueuesGetCall) IfNoneMatch(entityTag string) *TaskqueuesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TaskqueuesGetCall) Context(ctx context.Context) *TaskqueuesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -351,17 +350,24 @@
 
 func (c *TaskqueuesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["getStats"]; ok {
+		params.Set("getStats", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"taskqueue": c.taskqueue,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -446,34 +452,34 @@
 // method id "taskqueue.tasks.delete":
 
 type TasksDeleteCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	task       string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	task      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Delete: Delete a task from a TaskQueue.
 func (r *TasksService) Delete(project string, taskqueue string, task string) *TasksDeleteCall {
-	c := &TasksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksDeleteCall) Fields(s ...googleapi.Field) *TasksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksDeleteCall) Context(ctx context.Context) *TasksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -481,9 +487,13 @@
 
 func (c *TasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -549,29 +559,28 @@
 // method id "taskqueue.tasks.get":
 
 type TasksGetCall struct {
-	s            *Service
-	project      string
-	taskqueue    string
-	task         string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	task      string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Get: Get a particular task from a TaskQueue.
 func (r *TasksService) Get(project string, taskqueue string, task string) *TasksGetCall {
-	c := &TasksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksGetCall) Fields(s ...googleapi.Field) *TasksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -581,13 +590,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasksGetCall) IfNoneMatch(entityTag string) *TasksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksGetCall) Context(ctx context.Context) *TasksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -595,9 +604,13 @@
 
 func (c *TasksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -605,8 +618,8 @@
 		"task":      c.task,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -693,34 +706,34 @@
 // method id "taskqueue.tasks.insert":
 
 type TasksInsertCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	task       *Task
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	task      *Task
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Insert a new task in a TaskQueue
 func (r *TasksService) Insert(project string, taskqueue string, task *Task) *TasksInsertCall {
-	c := &TasksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksInsertCall) Fields(s ...googleapi.Field) *TasksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksInsertCall) Context(ctx context.Context) *TasksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -733,9 +746,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -824,27 +841,29 @@
 // method id "taskqueue.tasks.lease":
 
 type TasksLeaseCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	numTasks  int64
+	leaseSecs int64
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Lease: Lease 1 or more tasks from a TaskQueue.
 func (r *TasksService) Lease(project string, taskqueue string, numTasks int64, leaseSecs int64) *TasksLeaseCall {
-	c := &TasksLeaseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksLeaseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
-	c.urlParams_.Set("numTasks", fmt.Sprintf("%v", numTasks))
-	c.urlParams_.Set("leaseSecs", fmt.Sprintf("%v", leaseSecs))
+	c.numTasks = numTasks
+	c.leaseSecs = leaseSecs
 	return c
 }
 
 // GroupByTag sets the optional parameter "groupByTag": When true, all
 // returned tasks will have the same tag
 func (c *TasksLeaseCall) GroupByTag(groupByTag bool) *TasksLeaseCall {
-	c.urlParams_.Set("groupByTag", fmt.Sprintf("%v", groupByTag))
+	c.opt_["groupByTag"] = groupByTag
 	return c
 }
 
@@ -853,21 +872,21 @@
 // group_by_tag is true and tag is not specified the tag will be that of
 // the oldest task by eta, i.e. the first available tag
 func (c *TasksLeaseCall) Tag(tag string) *TasksLeaseCall {
-	c.urlParams_.Set("tag", tag)
+	c.opt_["tag"] = tag
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksLeaseCall) Fields(s ...googleapi.Field) *TasksLeaseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksLeaseCall) Context(ctx context.Context) *TasksLeaseCall {
 	c.ctx_ = ctx
 	return c
@@ -875,9 +894,21 @@
 
 func (c *TasksLeaseCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("leaseSecs", fmt.Sprintf("%v", c.leaseSecs))
+	params.Set("numTasks", fmt.Sprintf("%v", c.numTasks))
+	if v, ok := c.opt_["groupByTag"]; ok {
+		params.Set("groupByTag", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tag"]; ok {
+		params.Set("tag", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/lease")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -988,27 +1019,26 @@
 // method id "taskqueue.tasks.list":
 
 type TasksListCall struct {
-	s            *Service
-	project      string
-	taskqueue    string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	project   string
+	taskqueue string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // List: List Tasks in a TaskQueue
 func (r *TasksService) List(project string, taskqueue string) *TasksListCall {
-	c := &TasksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksListCall) Fields(s ...googleapi.Field) *TasksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1018,13 +1048,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasksListCall) IfNoneMatch(entityTag string) *TasksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksListCall) Context(ctx context.Context) *TasksListCall {
 	c.ctx_ = ctx
 	return c
@@ -1032,17 +1062,21 @@
 
 func (c *TasksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
 		"taskqueue": c.taskqueue,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1122,38 +1156,39 @@
 // method id "taskqueue.tasks.patch":
 
 type TasksPatchCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	task       string
-	task2      *Task
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s               *Service
+	project         string
+	taskqueue       string
+	task            string
+	newLeaseSeconds int64
+	task2           *Task
+	opt_            map[string]interface{}
+	ctx_            context.Context
 }
 
 // Patch: Update tasks that are leased out of a TaskQueue. This method
 // supports patch semantics.
 func (r *TasksService) Patch(project string, taskqueue string, task string, newLeaseSeconds int64, task2 *Task) *TasksPatchCall {
-	c := &TasksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
-	c.urlParams_.Set("newLeaseSeconds", fmt.Sprintf("%v", newLeaseSeconds))
+	c.newLeaseSeconds = newLeaseSeconds
 	c.task2 = task2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksPatchCall) Fields(s ...googleapi.Field) *TasksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksPatchCall) Context(ctx context.Context) *TasksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1166,9 +1201,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("newLeaseSeconds", fmt.Sprintf("%v", c.newLeaseSeconds))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
@@ -1271,37 +1311,38 @@
 // method id "taskqueue.tasks.update":
 
 type TasksUpdateCall struct {
-	s          *Service
-	project    string
-	taskqueue  string
-	task       string
-	task2      *Task
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s               *Service
+	project         string
+	taskqueue       string
+	task            string
+	newLeaseSeconds int64
+	task2           *Task
+	opt_            map[string]interface{}
+	ctx_            context.Context
 }
 
 // Update: Update tasks that are leased out of a TaskQueue.
 func (r *TasksService) Update(project string, taskqueue string, task string, newLeaseSeconds int64, task2 *Task) *TasksUpdateCall {
-	c := &TasksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.project = project
 	c.taskqueue = taskqueue
 	c.task = task
-	c.urlParams_.Set("newLeaseSeconds", fmt.Sprintf("%v", newLeaseSeconds))
+	c.newLeaseSeconds = newLeaseSeconds
 	c.task2 = task2
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksUpdateCall) Fields(s ...googleapi.Field) *TasksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksUpdateCall) Context(ctx context.Context) *TasksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1314,9 +1355,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("newLeaseSeconds", fmt.Sprintf("%v", c.newLeaseSeconds))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/taskqueues/{taskqueue}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"project":   c.project,
diff --git a/tasks/v1/tasks-gen.go b/tasks/v1/tasks-gen.go
index c487019..d387b27 100644
--- a/tasks/v1/tasks-gen.go
+++ b/tasks/v1/tasks-gen.go
@@ -313,28 +313,28 @@
 type TasklistsDeleteCall struct {
 	s          *Service
 	tasklistid string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the authenticated user's specified task list.
 func (r *TasklistsService) Delete(tasklistid string) *TasklistsDeleteCall {
-	c := &TasklistsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasklistsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasklistsDeleteCall) Fields(s ...googleapi.Field) *TasklistsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasklistsDeleteCall) Context(ctx context.Context) *TasklistsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -342,9 +342,13 @@
 
 func (c *TasklistsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/@me/lists/{tasklist}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -393,25 +397,24 @@
 // method id "tasks.tasklists.get":
 
 type TasklistsGetCall struct {
-	s            *Service
-	tasklistid   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	tasklistid string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns the authenticated user's specified task list.
 func (r *TasklistsService) Get(tasklistid string) *TasklistsGetCall {
-	c := &TasklistsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasklistsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasklistsGetCall) Fields(s ...googleapi.Field) *TasklistsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -421,13 +424,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasklistsGetCall) IfNoneMatch(entityTag string) *TasklistsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasklistsGetCall) Context(ctx context.Context) *TasklistsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -435,16 +438,20 @@
 
 func (c *TasklistsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/@me/lists/{tasklist}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -517,31 +524,31 @@
 // method id "tasks.tasklists.insert":
 
 type TasklistsInsertCall struct {
-	s          *Service
-	tasklist   *TaskList
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	tasklist *TaskList
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a new task list and adds it to the authenticated
 // user's task lists.
 func (r *TasklistsService) Insert(tasklist *TaskList) *TasklistsInsertCall {
-	c := &TasklistsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasklistsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklist = tasklist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasklistsInsertCall) Fields(s ...googleapi.Field) *TasklistsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasklistsInsertCall) Context(ctx context.Context) *TasklistsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -554,9 +561,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/@me/lists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -623,37 +634,36 @@
 // method id "tasks.tasklists.list":
 
 type TasklistsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns all the authenticated user's task lists.
 func (r *TasklistsService) List() *TasklistsListCall {
-	c := &TasklistsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasklistsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of task lists returned on one page.  The default is 100.
 func (c *TasklistsListCall) MaxResults(maxResults int64) *TasklistsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // the result page to return.
 func (c *TasklistsListCall) PageToken(pageToken string) *TasklistsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasklistsListCall) Fields(s ...googleapi.Field) *TasklistsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -663,13 +673,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasklistsListCall) IfNoneMatch(entityTag string) *TasklistsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasklistsListCall) Context(ctx context.Context) *TasklistsListCall {
 	c.ctx_ = ctx
 	return c
@@ -677,14 +687,24 @@
 
 func (c *TasklistsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/@me/lists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -762,30 +782,30 @@
 	s          *Service
 	tasklistid string
 	tasklist   *TaskList
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates the authenticated user's specified task list. This
 // method supports patch semantics.
 func (r *TasklistsService) Patch(tasklistid string, tasklist *TaskList) *TasklistsPatchCall {
-	c := &TasklistsPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasklistsPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.tasklist = tasklist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasklistsPatchCall) Fields(s ...googleapi.Field) *TasklistsPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasklistsPatchCall) Context(ctx context.Context) *TasklistsPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -798,9 +818,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/@me/lists/{tasklist}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -883,29 +907,29 @@
 	s          *Service
 	tasklistid string
 	tasklist   *TaskList
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates the authenticated user's specified task list.
 func (r *TasklistsService) Update(tasklistid string, tasklist *TaskList) *TasklistsUpdateCall {
-	c := &TasklistsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasklistsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.tasklist = tasklist
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasklistsUpdateCall) Fields(s ...googleapi.Field) *TasklistsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasklistsUpdateCall) Context(ctx context.Context) *TasklistsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -918,9 +942,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "users/@me/lists/{tasklist}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -1002,7 +1030,7 @@
 type TasksClearCall struct {
 	s          *Service
 	tasklistid string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -1010,22 +1038,22 @@
 // affected tasks will be marked as 'hidden' and no longer be returned
 // by default when retrieving all tasks for a task list.
 func (r *TasksService) Clear(tasklistid string) *TasksClearCall {
-	c := &TasksClearCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksClearCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksClearCall) Fields(s ...googleapi.Field) *TasksClearCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksClearCall) Context(ctx context.Context) *TasksClearCall {
 	c.ctx_ = ctx
 	return c
@@ -1033,9 +1061,13 @@
 
 func (c *TasksClearCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/clear")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -1087,29 +1119,29 @@
 	s          *Service
 	tasklistid string
 	taskid     string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Delete: Deletes the specified task from the task list.
 func (r *TasksService) Delete(tasklistid string, taskid string) *TasksDeleteCall {
-	c := &TasksDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.taskid = taskid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksDeleteCall) Fields(s ...googleapi.Field) *TasksDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksDeleteCall) Context(ctx context.Context) *TasksDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1117,9 +1149,13 @@
 
 func (c *TasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -1176,27 +1212,26 @@
 // method id "tasks.tasks.get":
 
 type TasksGetCall struct {
-	s            *Service
-	tasklistid   string
-	taskid       string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	tasklistid string
+	taskid     string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // Get: Returns the specified task.
 func (r *TasksService) Get(tasklistid string, taskid string) *TasksGetCall {
-	c := &TasksGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.taskid = taskid
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksGetCall) Fields(s ...googleapi.Field) *TasksGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1206,13 +1241,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasksGetCall) IfNoneMatch(entityTag string) *TasksGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksGetCall) Context(ctx context.Context) *TasksGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1220,17 +1255,21 @@
 
 func (c *TasksGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
 		"task":     c.taskid,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1313,13 +1352,13 @@
 	s          *Service
 	tasklistid string
 	task       *Task
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Insert: Creates a new task on the specified task list.
 func (r *TasksService) Insert(tasklistid string, task *Task) *TasksInsertCall {
-	c := &TasksInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.task = task
 	return c
@@ -1328,7 +1367,7 @@
 // Parent sets the optional parameter "parent": Parent task identifier.
 // If the task is created at the top level, this parameter is omitted.
 func (c *TasksInsertCall) Parent(parent string) *TasksInsertCall {
-	c.urlParams_.Set("parent", parent)
+	c.opt_["parent"] = parent
 	return c
 }
 
@@ -1336,21 +1375,21 @@
 // task identifier. If the task is created at the first position among
 // its siblings, this parameter is omitted.
 func (c *TasksInsertCall) Previous(previous string) *TasksInsertCall {
-	c.urlParams_.Set("previous", previous)
+	c.opt_["previous"] = previous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksInsertCall) Fields(s ...googleapi.Field) *TasksInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksInsertCall) Context(ctx context.Context) *TasksInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1363,9 +1402,19 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["parent"]; ok {
+		params.Set("parent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["previous"]; ok {
+		params.Set("previous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -1455,16 +1504,15 @@
 // method id "tasks.tasks.list":
 
 type TasksListCall struct {
-	s            *Service
-	tasklistid   string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s          *Service
+	tasklistid string
+	opt_       map[string]interface{}
+	ctx_       context.Context
 }
 
 // List: Returns all tasks in the specified task list.
 func (r *TasksService) List(tasklistid string) *TasksListCall {
-	c := &TasksListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	return c
 }
@@ -1473,7 +1521,7 @@
 // for a task's completion date (as a RFC 3339 timestamp) to filter by.
 // The default is not to filter by completion date.
 func (c *TasksListCall) CompletedMax(completedMax string) *TasksListCall {
-	c.urlParams_.Set("completedMax", completedMax)
+	c.opt_["completedMax"] = completedMax
 	return c
 }
 
@@ -1481,7 +1529,7 @@
 // for a task's completion date (as a RFC 3339 timestamp) to filter by.
 // The default is not to filter by completion date.
 func (c *TasksListCall) CompletedMin(completedMin string) *TasksListCall {
-	c.urlParams_.Set("completedMin", completedMin)
+	c.opt_["completedMin"] = completedMin
 	return c
 }
 
@@ -1489,7 +1537,7 @@
 // due date (as a RFC 3339 timestamp) to filter by.  The default is not
 // to filter by due date.
 func (c *TasksListCall) DueMax(dueMax string) *TasksListCall {
-	c.urlParams_.Set("dueMax", dueMax)
+	c.opt_["dueMax"] = dueMax
 	return c
 }
 
@@ -1497,21 +1545,21 @@
 // due date (as a RFC 3339 timestamp) to filter by.  The default is not
 // to filter by due date.
 func (c *TasksListCall) DueMin(dueMin string) *TasksListCall {
-	c.urlParams_.Set("dueMin", dueMin)
+	c.opt_["dueMin"] = dueMin
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
 // of task lists returned on one page.  The default is 100.
 func (c *TasksListCall) MaxResults(maxResults int64) *TasksListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token specifying
 // the result page to return.
 func (c *TasksListCall) PageToken(pageToken string) *TasksListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -1519,7 +1567,7 @@
 // indicating whether completed tasks are returned in the result.  The
 // default is True.
 func (c *TasksListCall) ShowCompleted(showCompleted bool) *TasksListCall {
-	c.urlParams_.Set("showCompleted", fmt.Sprintf("%v", showCompleted))
+	c.opt_["showCompleted"] = showCompleted
 	return c
 }
 
@@ -1527,7 +1575,7 @@
 // indicating whether deleted tasks are returned in the result.  The
 // default is False.
 func (c *TasksListCall) ShowDeleted(showDeleted bool) *TasksListCall {
-	c.urlParams_.Set("showDeleted", fmt.Sprintf("%v", showDeleted))
+	c.opt_["showDeleted"] = showDeleted
 	return c
 }
 
@@ -1535,7 +1583,7 @@
 // whether hidden tasks are returned in the result.  The default is
 // False.
 func (c *TasksListCall) ShowHidden(showHidden bool) *TasksListCall {
-	c.urlParams_.Set("showHidden", fmt.Sprintf("%v", showHidden))
+	c.opt_["showHidden"] = showHidden
 	return c
 }
 
@@ -1543,15 +1591,15 @@
 // a task's last modification time (as a RFC 3339 timestamp) to filter
 // by.  The default is not to filter by last modification time.
 func (c *TasksListCall) UpdatedMin(updatedMin string) *TasksListCall {
-	c.urlParams_.Set("updatedMin", updatedMin)
+	c.opt_["updatedMin"] = updatedMin
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksListCall) Fields(s ...googleapi.Field) *TasksListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1561,13 +1609,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TasksListCall) IfNoneMatch(entityTag string) *TasksListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksListCall) Context(ctx context.Context) *TasksListCall {
 	c.ctx_ = ctx
 	return c
@@ -1575,16 +1623,50 @@
 
 func (c *TasksListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["completedMax"]; ok {
+		params.Set("completedMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["completedMin"]; ok {
+		params.Set("completedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dueMax"]; ok {
+		params.Set("dueMax", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dueMin"]; ok {
+		params.Set("dueMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showCompleted"]; ok {
+		params.Set("showCompleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showDeleted"]; ok {
+		params.Set("showDeleted", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["showHidden"]; ok {
+		params.Set("showHidden", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["updatedMin"]; ok {
+		params.Set("updatedMin", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1711,7 +1793,7 @@
 	s          *Service
 	tasklistid string
 	taskid     string
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -1719,7 +1801,7 @@
 // This can include putting it as a child task under a new parent and/or
 // move it to a different position among its sibling tasks.
 func (r *TasksService) Move(tasklistid string, taskid string) *TasksMoveCall {
-	c := &TasksMoveCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksMoveCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.taskid = taskid
 	return c
@@ -1729,7 +1811,7 @@
 // identifier. If the task is moved to the top level, this parameter is
 // omitted.
 func (c *TasksMoveCall) Parent(parent string) *TasksMoveCall {
-	c.urlParams_.Set("parent", parent)
+	c.opt_["parent"] = parent
 	return c
 }
 
@@ -1737,21 +1819,21 @@
 // task identifier. If the task is moved to the first position among its
 // siblings, this parameter is omitted.
 func (c *TasksMoveCall) Previous(previous string) *TasksMoveCall {
-	c.urlParams_.Set("previous", previous)
+	c.opt_["previous"] = previous
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksMoveCall) Fields(s ...googleapi.Field) *TasksMoveCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksMoveCall) Context(ctx context.Context) *TasksMoveCall {
 	c.ctx_ = ctx
 	return c
@@ -1759,9 +1841,19 @@
 
 func (c *TasksMoveCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["parent"]; ok {
+		params.Set("parent", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["previous"]; ok {
+		params.Set("previous", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks/{task}/move")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -1859,31 +1951,31 @@
 	tasklistid string
 	taskid     string
 	task       *Task
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Patch: Updates the specified task. This method supports patch
 // semantics.
 func (r *TasksService) Patch(tasklistid string, taskid string, task *Task) *TasksPatchCall {
-	c := &TasksPatchCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksPatchCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.taskid = taskid
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksPatchCall) Fields(s ...googleapi.Field) *TasksPatchCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksPatchCall) Context(ctx context.Context) *TasksPatchCall {
 	c.ctx_ = ctx
 	return c
@@ -1896,9 +1988,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PATCH", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
@@ -1990,30 +2086,30 @@
 	tasklistid string
 	taskid     string
 	task       *Task
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
 // Update: Updates the specified task.
 func (r *TasksService) Update(tasklistid string, taskid string, task *Task) *TasksUpdateCall {
-	c := &TasksUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &TasksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.tasklistid = tasklistid
 	c.taskid = taskid
 	c.task = task
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TasksUpdateCall) Fields(s ...googleapi.Field) *TasksUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TasksUpdateCall) Context(ctx context.Context) *TasksUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -2026,9 +2122,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "lists/{tasklist}/tasks/{task}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"tasklist": c.tasklistid,
diff --git a/translate/v2/translate-gen.go b/translate/v2/translate-gen.go
index 51601cf..e6efa0b 100644
--- a/translate/v2/translate-gen.go
+++ b/translate/v2/translate-gen.go
@@ -250,24 +250,24 @@
 // method id "language.detections.list":
 
 type DetectionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	q    []string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Detect the language of text.
 func (r *DetectionsService) List(q []string) *DetectionsListCall {
-	c := &DetectionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.SetMulti("q", append([]string{}, q...))
+	c := &DetectionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.q = q
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *DetectionsListCall) Fields(s ...googleapi.Field) *DetectionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -277,13 +277,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *DetectionsListCall) IfNoneMatch(entityTag string) *DetectionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *DetectionsListCall) Context(ctx context.Context) *DetectionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -291,14 +291,21 @@
 
 func (c *DetectionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	for _, v := range c.q {
+		params.Add("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/detect")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -368,30 +375,29 @@
 // method id "language.languages.list":
 
 type LanguagesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: List the source/target languages supported by the API
 func (r *LanguagesService) List() *LanguagesListCall {
-	c := &LanguagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &LanguagesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
 // Target sets the optional parameter "target": the language and
 // collation in which the localized results should be returned
 func (c *LanguagesListCall) Target(target string) *LanguagesListCall {
-	c.urlParams_.Set("target", target)
+	c.opt_["target"] = target
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -401,13 +407,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -415,14 +421,21 @@
 
 func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["target"]; ok {
+		params.Set("target", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/languages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -487,24 +500,25 @@
 // method id "language.translations.list":
 
 type TranslationsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s      *Service
+	q      []string
+	target string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // List: Returns text translations from one language to another.
 func (r *TranslationsService) List(q []string, target string) *TranslationsListCall {
-	c := &TranslationsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.SetMulti("q", append([]string{}, q...))
-	c.urlParams_.Set("target", target)
+	c := &TranslationsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.q = q
+	c.target = target
 	return c
 }
 
 // Cid sets the optional parameter "cid": The customization id for
 // translate
-func (c *TranslationsListCall) Cid(cid []string) *TranslationsListCall {
-	c.urlParams_.SetMulti("cid", append([]string{}, cid...))
+func (c *TranslationsListCall) Cid(cid string) *TranslationsListCall {
+	c.opt_["cid"] = cid
 	return c
 }
 
@@ -514,22 +528,22 @@
 //   "html" - Specifies the input is in HTML
 //   "text" - Specifies the input is in plain textual format
 func (c *TranslationsListCall) Format(format string) *TranslationsListCall {
-	c.urlParams_.Set("format", format)
+	c.opt_["format"] = format
 	return c
 }
 
 // Source sets the optional parameter "source": The source language of
 // the text
 func (c *TranslationsListCall) Source(source string) *TranslationsListCall {
-	c.urlParams_.Set("source", source)
+	c.opt_["source"] = source
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *TranslationsListCall) Fields(s ...googleapi.Field) *TranslationsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -539,13 +553,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *TranslationsListCall) IfNoneMatch(entityTag string) *TranslationsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *TranslationsListCall) Context(ctx context.Context) *TranslationsListCall {
 	c.ctx_ = ctx
 	return c
@@ -553,14 +567,31 @@
 
 func (c *TranslationsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("target", fmt.Sprintf("%v", c.target))
+	for _, v := range c.q {
+		params.Add("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["cid"]; ok {
+		params.Set("cid", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["format"]; ok {
+		params.Set("format", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["source"]; ok {
+		params.Set("source", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/urlshortener/v1/urlshortener-gen.go b/urlshortener/v1/urlshortener-gen.go
index 52a1129..3acfe3d 100644
--- a/urlshortener/v1/urlshortener-gen.go
+++ b/urlshortener/v1/urlshortener-gen.go
@@ -261,16 +261,16 @@
 // method id "urlshortener.url.get":
 
 type UrlGetCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	shortUrl string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Expands a short URL or gets creation time and analytics.
 func (r *UrlService) Get(shortUrl string) *UrlGetCall {
-	c := &UrlGetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("shortUrl", shortUrl)
+	c := &UrlGetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.shortUrl = shortUrl
 	return c
 }
 
@@ -283,15 +283,15 @@
 //   "FULL" - Returns the creation timestamp and all available
 // analytics.
 func (c *UrlGetCall) Projection(projection string) *UrlGetCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlGetCall) Fields(s ...googleapi.Field) *UrlGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -301,13 +301,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlGetCall) IfNoneMatch(entityTag string) *UrlGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlGetCall) Context(ctx context.Context) *UrlGetCall {
 	c.ctx_ = ctx
 	return c
@@ -315,14 +315,22 @@
 
 func (c *UrlGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("shortUrl", fmt.Sprintf("%v", c.shortUrl))
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "url")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -409,30 +417,30 @@
 // method id "urlshortener.url.insert":
 
 type UrlInsertCall struct {
-	s          *Service
-	url        *Url
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	url  *Url
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Insert: Creates a new short URL.
 func (r *UrlService) Insert(url *Url) *UrlInsertCall {
-	c := &UrlInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.url = url
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlInsertCall) Fields(s ...googleapi.Field) *UrlInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlInsertCall) Context(ctx context.Context) *UrlInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -445,9 +453,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "url")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -514,15 +526,14 @@
 // method id "urlshortener.url.list":
 
 type UrlListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves a list of URLs shortened by a user.
 func (r *UrlService) List() *UrlListCall {
-	c := &UrlListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -533,22 +544,22 @@
 //   "ANALYTICS_CLICKS" - Returns short URL click counts.
 //   "FULL" - Returns short URL click counts.
 func (c *UrlListCall) Projection(projection string) *UrlListCall {
-	c.urlParams_.Set("projection", projection)
+	c.opt_["projection"] = projection
 	return c
 }
 
 // StartToken sets the optional parameter "start-token": Token for
 // requesting successive pages of results.
 func (c *UrlListCall) StartToken(startToken string) *UrlListCall {
-	c.urlParams_.Set("startToken", startToken)
+	c.opt_["start-token"] = startToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlListCall) Fields(s ...googleapi.Field) *UrlListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -558,13 +569,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlListCall) IfNoneMatch(entityTag string) *UrlListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlListCall) Context(ctx context.Context) *UrlListCall {
 	c.ctx_ = ctx
 	return c
@@ -572,14 +583,24 @@
 
 func (c *UrlListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["projection"]; ok {
+		params.Set("projection", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-token"]; ok {
+		params.Set("start-token", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "url/history")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/webfonts/v1/webfonts-gen.go b/webfonts/v1/webfonts-gen.go
index 078fbc2..de87f55 100644
--- a/webfonts/v1/webfonts-gen.go
+++ b/webfonts/v1/webfonts-gen.go
@@ -148,16 +148,15 @@
 // method id "webfonts.webfonts.list":
 
 type WebfontsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Retrieves the list of fonts currently served by the Google
 // Fonts Developer API
 func (r *WebfontsService) List() *WebfontsListCall {
-	c := &WebfontsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &WebfontsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -170,15 +169,15 @@
 //   "style" - Sort by number of styles
 //   "trending" - Sort by trending
 func (c *WebfontsListCall) Sort(sort string) *WebfontsListCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WebfontsListCall) Fields(s ...googleapi.Field) *WebfontsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -188,13 +187,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *WebfontsListCall) IfNoneMatch(entityTag string) *WebfontsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WebfontsListCall) Context(ctx context.Context) *WebfontsListCall {
 	c.ctx_ = ctx
 	return c
@@ -202,14 +201,21 @@
 
 func (c *WebfontsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "webfonts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/webmasters/v3/webmasters-gen.go b/webmasters/v3/webmasters-gen.go
index 8925535..cc0aee1 100644
--- a/webmasters/v3/webmasters-gen.go
+++ b/webmasters/v3/webmasters-gen.go
@@ -631,7 +631,7 @@
 	s                           *Service
 	siteUrl                     string
 	searchanalyticsqueryrequest *SearchAnalyticsQueryRequest
-	urlParams_                  internal.URLParams
+	opt_                        map[string]interface{}
 	ctx_                        context.Context
 }
 
@@ -644,23 +644,23 @@
 // data, issue a broad date range query grouped by date for any metric,
 // and see which day rows are returned.
 func (r *SearchanalyticsService) Query(siteUrl string, searchanalyticsqueryrequest *SearchAnalyticsQueryRequest) *SearchanalyticsQueryCall {
-	c := &SearchanalyticsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SearchanalyticsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	c.searchanalyticsqueryrequest = searchanalyticsqueryrequest
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SearchanalyticsQueryCall) Fields(s ...googleapi.Field) *SearchanalyticsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SearchanalyticsQueryCall) Context(ctx context.Context) *SearchanalyticsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -673,9 +673,13 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/searchAnalytics/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
@@ -756,32 +760,32 @@
 // method id "webmasters.sitemaps.delete":
 
 type SitemapsDeleteCall struct {
-	s          *Service
-	siteUrl    string
-	feedpath   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	siteUrl  string
+	feedpath string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Delete: Deletes a sitemap from this site.
 func (r *SitemapsService) Delete(siteUrl string, feedpath string) *SitemapsDeleteCall {
-	c := &SitemapsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitemapsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	c.feedpath = feedpath
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitemapsDeleteCall) Fields(s ...googleapi.Field) *SitemapsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitemapsDeleteCall) Context(ctx context.Context) *SitemapsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -789,9 +793,13 @@
 
 func (c *SitemapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/sitemaps/{feedpath}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl":  c.siteUrl,
@@ -848,27 +856,26 @@
 // method id "webmasters.sitemaps.get":
 
 type SitemapsGetCall struct {
-	s            *Service
-	siteUrl      string
-	feedpath     string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	siteUrl  string
+	feedpath string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves information about a specific sitemap.
 func (r *SitemapsService) Get(siteUrl string, feedpath string) *SitemapsGetCall {
-	c := &SitemapsGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitemapsGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	c.feedpath = feedpath
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitemapsGetCall) Fields(s ...googleapi.Field) *SitemapsGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -878,13 +885,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitemapsGetCall) IfNoneMatch(entityTag string) *SitemapsGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitemapsGetCall) Context(ctx context.Context) *SitemapsGetCall {
 	c.ctx_ = ctx
 	return c
@@ -892,17 +899,21 @@
 
 func (c *SitemapsGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/sitemaps/{feedpath}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl":  c.siteUrl,
 		"feedpath": c.feedpath,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -982,18 +993,17 @@
 // method id "webmasters.sitemaps.list":
 
 type SitemapsListCall struct {
-	s            *Service
-	siteUrl      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	siteUrl string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Lists the sitemaps-entries submitted for this site, or included
 // in the sitemap index file (if sitemapIndex is specified in the
 // request).
 func (r *SitemapsService) List(siteUrl string) *SitemapsListCall {
-	c := &SitemapsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitemapsListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	return c
 }
@@ -1002,15 +1012,15 @@
 // site's sitemap index. For example:
 // http://www.example.com/sitemapindex.xml
 func (c *SitemapsListCall) SitemapIndex(sitemapIndex string) *SitemapsListCall {
-	c.urlParams_.Set("sitemapIndex", sitemapIndex)
+	c.opt_["sitemapIndex"] = sitemapIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitemapsListCall) Fields(s ...googleapi.Field) *SitemapsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1020,13 +1030,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitemapsListCall) IfNoneMatch(entityTag string) *SitemapsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitemapsListCall) Context(ctx context.Context) *SitemapsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1034,16 +1044,23 @@
 
 func (c *SitemapsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["sitemapIndex"]; ok {
+		params.Set("sitemapIndex", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/sitemaps")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1121,32 +1138,32 @@
 // method id "webmasters.sitemaps.submit":
 
 type SitemapsSubmitCall struct {
-	s          *Service
-	siteUrl    string
-	feedpath   string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	siteUrl  string
+	feedpath string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Submit: Submits a sitemap for a site.
 func (r *SitemapsService) Submit(siteUrl string, feedpath string) *SitemapsSubmitCall {
-	c := &SitemapsSubmitCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitemapsSubmitCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	c.feedpath = feedpath
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitemapsSubmitCall) Fields(s ...googleapi.Field) *SitemapsSubmitCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitemapsSubmitCall) Context(ctx context.Context) *SitemapsSubmitCall {
 	c.ctx_ = ctx
 	return c
@@ -1154,9 +1171,13 @@
 
 func (c *SitemapsSubmitCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/sitemaps/{feedpath}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl":  c.siteUrl,
@@ -1213,30 +1234,30 @@
 // method id "webmasters.sites.add":
 
 type SitesAddCall struct {
-	s          *Service
-	siteUrl    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	siteUrl string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Add: Adds a site to the set of the user's sites in Webmaster Tools.
 func (r *SitesService) Add(siteUrl string) *SitesAddCall {
-	c := &SitesAddCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesAddCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesAddCall) Fields(s ...googleapi.Field) *SitesAddCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesAddCall) Context(ctx context.Context) *SitesAddCall {
 	c.ctx_ = ctx
 	return c
@@ -1244,9 +1265,13 @@
 
 func (c *SitesAddCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
@@ -1295,31 +1320,31 @@
 // method id "webmasters.sites.delete":
 
 type SitesDeleteCall struct {
-	s          *Service
-	siteUrl    string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	siteUrl string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Delete: Removes a site from the set of the user's Webmaster Tools
 // sites.
 func (r *SitesService) Delete(siteUrl string) *SitesDeleteCall {
-	c := &SitesDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesDeleteCall) Fields(s ...googleapi.Field) *SitesDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesDeleteCall) Context(ctx context.Context) *SitesDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1327,9 +1352,13 @@
 
 func (c *SitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
@@ -1378,25 +1407,24 @@
 // method id "webmasters.sites.get":
 
 type SitesGetCall struct {
-	s            *Service
-	siteUrl      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	siteUrl string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Get: Retrieves information about specific site.
 func (r *SitesService) Get(siteUrl string) *SitesGetCall {
-	c := &SitesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1406,13 +1434,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1420,16 +1448,20 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1502,23 +1534,22 @@
 // method id "webmasters.sites.list":
 
 type SitesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Lists the user's Webmaster Tools sites.
 func (r *SitesService) List() *SitesListCall {
-	c := &SitesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &SitesListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1528,13 +1559,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 	c.ctx_ = ctx
 	return c
@@ -1542,14 +1573,18 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1611,17 +1646,16 @@
 // method id "webmasters.urlcrawlerrorscounts.query":
 
 type UrlcrawlerrorscountsQueryCall struct {
-	s            *Service
-	siteUrl      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	siteUrl string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Query: Retrieves a time series of the number of URL crawl errors per
 // error category and platform.
 func (r *UrlcrawlerrorscountsService) Query(siteUrl string) *UrlcrawlerrorscountsQueryCall {
-	c := &UrlcrawlerrorscountsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlcrawlerrorscountsQueryCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	return c
 }
@@ -1640,14 +1674,14 @@
 //   "serverError"
 //   "soft404"
 func (c *UrlcrawlerrorscountsQueryCall) Category(category string) *UrlcrawlerrorscountsQueryCall {
-	c.urlParams_.Set("category", category)
+	c.opt_["category"] = category
 	return c
 }
 
 // LatestCountsOnly sets the optional parameter "latestCountsOnly": If
 // true, returns only the latest crawl error counts.
 func (c *UrlcrawlerrorscountsQueryCall) LatestCountsOnly(latestCountsOnly bool) *UrlcrawlerrorscountsQueryCall {
-	c.urlParams_.Set("latestCountsOnly", fmt.Sprintf("%v", latestCountsOnly))
+	c.opt_["latestCountsOnly"] = latestCountsOnly
 	return c
 }
 
@@ -1660,15 +1694,15 @@
 //   "smartphoneOnly"
 //   "web"
 func (c *UrlcrawlerrorscountsQueryCall) Platform(platform string) *UrlcrawlerrorscountsQueryCall {
-	c.urlParams_.Set("platform", platform)
+	c.opt_["platform"] = platform
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlcrawlerrorscountsQueryCall) Fields(s ...googleapi.Field) *UrlcrawlerrorscountsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1678,13 +1712,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlcrawlerrorscountsQueryCall) IfNoneMatch(entityTag string) *UrlcrawlerrorscountsQueryCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlcrawlerrorscountsQueryCall) Context(ctx context.Context) *UrlcrawlerrorscountsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1692,16 +1726,29 @@
 
 func (c *UrlcrawlerrorscountsQueryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["category"]; ok {
+		params.Set("category", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["latestCountsOnly"]; ok {
+		params.Set("latestCountsOnly", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["platform"]; ok {
+		params.Set("platform", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/urlCrawlErrorsCounts/query")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1821,29 +1868,30 @@
 // method id "webmasters.urlcrawlerrorssamples.get":
 
 type UrlcrawlerrorssamplesGetCall struct {
-	s            *Service
-	siteUrl      string
-	url          string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	siteUrl  string
+	url      string
+	category string
+	platform string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Get: Retrieves details about crawl errors for a site's sample URL.
 func (r *UrlcrawlerrorssamplesService) Get(siteUrl string, url string, category string, platform string) *UrlcrawlerrorssamplesGetCall {
-	c := &UrlcrawlerrorssamplesGetCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlcrawlerrorssamplesGetCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	c.url = url
-	c.urlParams_.Set("category", category)
-	c.urlParams_.Set("platform", platform)
+	c.category = category
+	c.platform = platform
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlcrawlerrorssamplesGetCall) Fields(s ...googleapi.Field) *UrlcrawlerrorssamplesGetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1853,13 +1901,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlcrawlerrorssamplesGetCall) IfNoneMatch(entityTag string) *UrlcrawlerrorssamplesGetCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlcrawlerrorssamplesGetCall) Context(ctx context.Context) *UrlcrawlerrorssamplesGetCall {
 	c.ctx_ = ctx
 	return c
@@ -1867,17 +1915,23 @@
 
 func (c *UrlcrawlerrorssamplesGetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("category", fmt.Sprintf("%v", c.category))
+	params.Set("platform", fmt.Sprintf("%v", c.platform))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/urlCrawlErrorsSamples/{url}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
 		"url":     c.url,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2001,28 +2055,29 @@
 // method id "webmasters.urlcrawlerrorssamples.list":
 
 type UrlcrawlerrorssamplesListCall struct {
-	s            *Service
-	siteUrl      string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s        *Service
+	siteUrl  string
+	category string
+	platform string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // List: Lists a site's sample URLs for the specified crawl error
 // category and platform.
 func (r *UrlcrawlerrorssamplesService) List(siteUrl string, category string, platform string) *UrlcrawlerrorssamplesListCall {
-	c := &UrlcrawlerrorssamplesListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlcrawlerrorssamplesListCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
-	c.urlParams_.Set("category", category)
-	c.urlParams_.Set("platform", platform)
+	c.category = category
+	c.platform = platform
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlcrawlerrorssamplesListCall) Fields(s ...googleapi.Field) *UrlcrawlerrorssamplesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -2032,13 +2087,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *UrlcrawlerrorssamplesListCall) IfNoneMatch(entityTag string) *UrlcrawlerrorssamplesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlcrawlerrorssamplesListCall) Context(ctx context.Context) *UrlcrawlerrorssamplesListCall {
 	c.ctx_ = ctx
 	return c
@@ -2046,16 +2101,22 @@
 
 func (c *UrlcrawlerrorssamplesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("category", fmt.Sprintf("%v", c.category))
+	params.Set("platform", fmt.Sprintf("%v", c.platform))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/urlCrawlErrorsSamples")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -2173,35 +2234,37 @@
 // method id "webmasters.urlcrawlerrorssamples.markAsFixed":
 
 type UrlcrawlerrorssamplesMarkAsFixedCall struct {
-	s          *Service
-	siteUrl    string
-	url        string
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	siteUrl  string
+	url      string
+	category string
+	platform string
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // MarkAsFixed: Marks the provided site's sample URL as fixed, and
 // removes it from the samples list.
 func (r *UrlcrawlerrorssamplesService) MarkAsFixed(siteUrl string, url string, category string, platform string) *UrlcrawlerrorssamplesMarkAsFixedCall {
-	c := &UrlcrawlerrorssamplesMarkAsFixedCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &UrlcrawlerrorssamplesMarkAsFixedCall{s: r.s, opt_: make(map[string]interface{})}
 	c.siteUrl = siteUrl
 	c.url = url
-	c.urlParams_.Set("category", category)
-	c.urlParams_.Set("platform", platform)
+	c.category = category
+	c.platform = platform
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *UrlcrawlerrorssamplesMarkAsFixedCall) Fields(s ...googleapi.Field) *UrlcrawlerrorssamplesMarkAsFixedCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *UrlcrawlerrorssamplesMarkAsFixedCall) Context(ctx context.Context) *UrlcrawlerrorssamplesMarkAsFixedCall {
 	c.ctx_ = ctx
 	return c
@@ -2209,9 +2272,15 @@
 
 func (c *UrlcrawlerrorssamplesMarkAsFixedCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("category", fmt.Sprintf("%v", c.category))
+	params.Set("platform", fmt.Sprintf("%v", c.platform))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "sites/{siteUrl}/urlCrawlErrorsSamples/{url}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"siteUrl": c.siteUrl,
diff --git a/youtube/v3/youtube-gen.go b/youtube/v3/youtube-gen.go
index 09db578..3f3d876 100644
--- a/youtube/v3/youtube-gen.go
+++ b/youtube/v3/youtube-gen.go
@@ -7130,10 +7130,11 @@
 // method id "youtube.activities.insert":
 
 type ActivitiesInsertCall struct {
-	s          *Service
-	activity   *Activity
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	part     string
+	activity *Activity
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Posts a bulletin for a specific channel. (The user submitting
@@ -7147,23 +7148,23 @@
 // to rate a video and the playlistItems.insert() method to mark a video
 // as a favorite.
 func (r *ActivitiesService) Insert(part string, activity *Activity) *ActivitiesInsertCall {
-	c := &ActivitiesInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ActivitiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.activity = activity
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesInsertCall) Fields(s ...googleapi.Field) *ActivitiesInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesInsertCall) Context(ctx context.Context) *ActivitiesInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7176,9 +7177,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -7257,10 +7263,10 @@
 // method id "youtube.activities.list":
 
 type ActivitiesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of channel activity events that match the
@@ -7269,8 +7275,8 @@
 // subscriptions and Google+ friends, or the YouTube home page feed,
 // which is customized for each user.
 func (r *ActivitiesService) List(part string) *ActivitiesListCall {
-	c := &ActivitiesListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ActivitiesListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -7278,7 +7284,7 @@
 // parameter specifies a unique YouTube channel ID. The API will then
 // return a list of that channel's activities.
 func (c *ActivitiesListCall) ChannelId(channelId string) *ActivitiesListCall {
-	c.urlParams_.Set("channelId", channelId)
+	c.opt_["channelId"] = channelId
 	return c
 }
 
@@ -7286,7 +7292,7 @@
 // to true to retrieve the activity feed that displays on the YouTube
 // home page for the currently authenticated user.
 func (c *ActivitiesListCall) Home(home bool) *ActivitiesListCall {
-	c.urlParams_.Set("home", fmt.Sprintf("%v", home))
+	c.opt_["home"] = home
 	return c
 }
 
@@ -7294,14 +7300,14 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Mine sets the optional parameter "mine": Set this parameter's value
 // to true to retrieve a feed of the authenticated user's activities.
 func (c *ActivitiesListCall) Mine(mine bool) *ActivitiesListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -7310,7 +7316,7 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -7322,7 +7328,7 @@
 // result set. The value is specified in ISO 8601
 // (YYYY-MM-DDThh:mm:ss.sZ) format.
 func (c *ActivitiesListCall) PublishedAfter(publishedAfter string) *ActivitiesListCall {
-	c.urlParams_.Set("publishedAfter", publishedAfter)
+	c.opt_["publishedAfter"] = publishedAfter
 	return c
 }
 
@@ -7334,7 +7340,7 @@
 // result set. The value is specified in ISO 8601
 // (YYYY-MM-DDThh:mm:ss.sZ) format.
 func (c *ActivitiesListCall) PublishedBefore(publishedBefore string) *ActivitiesListCall {
-	c.urlParams_.Set("publishedBefore", publishedBefore)
+	c.opt_["publishedBefore"] = publishedBefore
 	return c
 }
 
@@ -7345,15 +7351,15 @@
 // on YouTube does not provide enough information to generate the
 // activity feed.
 func (c *ActivitiesListCall) RegionCode(regionCode string) *ActivitiesListCall {
-	c.urlParams_.Set("regionCode", regionCode)
+	c.opt_["regionCode"] = regionCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7363,13 +7369,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
 	c.ctx_ = ctx
 	return c
@@ -7377,14 +7383,43 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["channelId"]; ok {
+		params.Set("channelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["home"]; ok {
+		params.Set("home", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publishedAfter"]; ok {
+		params.Set("publishedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publishedBefore"]; ok {
+		params.Set("publishedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionCode"]; ok {
+		params.Set("regionCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "activities")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7504,22 +7539,23 @@
 // method id "youtube.captions.delete":
 
 type CaptionsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a specified caption track.
 func (r *CaptionsService) Delete(id string) *CaptionsDeleteCall {
-	c := &CaptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &CaptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
 // OnBehalfOf sets the optional parameter "onBehalfOf": ID of the
 // Google+ Page for the channel that the request is be on behalf of
 func (c *CaptionsDeleteCall) OnBehalfOf(onBehalfOf string) *CaptionsDeleteCall {
-	c.urlParams_.Set("onBehalfOf", onBehalfOf)
+	c.opt_["onBehalfOf"] = onBehalfOf
 	return c
 }
 
@@ -7538,21 +7574,21 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *CaptionsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *CaptionsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CaptionsDeleteCall) Fields(s ...googleapi.Field) *CaptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CaptionsDeleteCall) Context(ctx context.Context) *CaptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -7560,9 +7596,20 @@
 
 func (c *CaptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOf"]; ok {
+		params.Set("onBehalfOf", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "captions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -7620,11 +7667,10 @@
 // method id "youtube.captions.download":
 
 type CaptionsDownloadCall struct {
-	s            *Service
-	id           string
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Download: Downloads a caption track. The caption track is returned in
@@ -7632,7 +7678,7 @@
 // parameter and in its original language unless the request specifies a
 // value for the tlang parameter.
 func (r *CaptionsService) Download(id string) *CaptionsDownloadCall {
-	c := &CaptionsDownloadCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &CaptionsDownloadCall{s: r.s, opt_: make(map[string]interface{})}
 	c.id = id
 	return c
 }
@@ -7640,7 +7686,7 @@
 // OnBehalfOf sets the optional parameter "onBehalfOf": ID of the
 // Google+ Page for the channel that the request is be on behalf of
 func (c *CaptionsDownloadCall) OnBehalfOf(onBehalfOf string) *CaptionsDownloadCall {
-	c.urlParams_.Set("onBehalfOf", onBehalfOf)
+	c.opt_["onBehalfOf"] = onBehalfOf
 	return c
 }
 
@@ -7659,7 +7705,7 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *CaptionsDownloadCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *CaptionsDownloadCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -7675,7 +7721,7 @@
 //   "ttml" - Timed Text Markup Language caption.
 //   "vtt" - Web Video Text Tracks caption.
 func (c *CaptionsDownloadCall) Tfmt(tfmt string) *CaptionsDownloadCall {
-	c.urlParams_.Set("tfmt", tfmt)
+	c.opt_["tfmt"] = tfmt
 	return c
 }
 
@@ -7686,15 +7732,15 @@
 // language. The translation is generated by using machine translation,
 // such as Google Translate.
 func (c *CaptionsDownloadCall) Tlang(tlang string) *CaptionsDownloadCall {
-	c.urlParams_.Set("tlang", tlang)
+	c.opt_["tlang"] = tlang
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CaptionsDownloadCall) Fields(s ...googleapi.Field) *CaptionsDownloadCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -7704,13 +7750,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CaptionsDownloadCall) IfNoneMatch(entityTag string) *CaptionsDownloadCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do and Download
-// methods. Any pending HTTP request will be aborted if the provided
-// context is canceled.
+// Context sets the context to be used in this call's Do and Download methods.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CaptionsDownloadCall) Context(ctx context.Context) *CaptionsDownloadCall {
 	c.ctx_ = ctx
 	return c
@@ -7718,16 +7764,32 @@
 
 func (c *CaptionsDownloadCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOf"]; ok {
+		params.Set("onBehalfOf", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tfmt"]; ok {
+		params.Set("tfmt", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["tlang"]; ok {
+		params.Set("tlang", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "captions/{id}")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.Expand(req.URL, map[string]string{
 		"id": c.id,
 	})
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -7823,21 +7885,21 @@
 // method id "youtube.captions.insert":
 
 type CaptionsInsertCall struct {
-	s                *Service
-	caption          *Caption
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	part       string
+	caption    *Caption
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Uploads a caption track.
 func (r *CaptionsService) Insert(part string, caption *Caption) *CaptionsInsertCall {
-	c := &CaptionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CaptionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.caption = caption
 	return c
 }
@@ -7845,7 +7907,7 @@
 // OnBehalfOf sets the optional parameter "onBehalfOf": ID of the
 // Google+ Page for the channel that the request is be on behalf of
 func (c *CaptionsInsertCall) OnBehalfOf(onBehalfOf string) *CaptionsInsertCall {
-	c.urlParams_.Set("onBehalfOf", onBehalfOf)
+	c.opt_["onBehalfOf"] = onBehalfOf
 	return c
 }
 
@@ -7864,7 +7926,7 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *CaptionsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *CaptionsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -7878,24 +7940,24 @@
 // transcript, which has no time codes, or if you suspect the time codes
 // in your file are incorrect and want YouTube to try to fix them.
 func (c *CaptionsInsertCall) Sync(sync bool) *CaptionsInsertCall {
-	c.urlParams_.Set("sync", fmt.Sprintf("%v", sync))
+	c.opt_["sync"] = sync
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *CaptionsInsertCall) Media(r io.Reader) *CaptionsInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *CaptionsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CaptionsInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -7904,28 +7966,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *CaptionsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CaptionsInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CaptionsInsertCall) Fields(s ...googleapi.Field) *CaptionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *CaptionsInsertCall) Context(ctx context.Context) *CaptionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -7938,13 +7999,27 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOf"]; ok {
+		params.Set("onBehalfOf", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sync"]; ok {
+		params.Set("sync", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "captions")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -7995,6 +8070,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -8004,7 +8085,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -8089,10 +8170,11 @@
 // method id "youtube.captions.list":
 
 type CaptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	part    string
+	videoId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Returns a list of caption tracks that are associated with a
@@ -8100,9 +8182,9 @@
 // actual captions and that the captions.download method provides the
 // ability to retrieve a caption track.
 func (r *CaptionsService) List(part string, videoId string) *CaptionsListCall {
-	c := &CaptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
-	c.urlParams_.Set("videoId", videoId)
+	c := &CaptionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
+	c.videoId = videoId
 	return c
 }
 
@@ -8111,14 +8193,14 @@
 // should be retrieved. Each ID must identify a caption track associated
 // with the specified video.
 func (c *CaptionsListCall) Id(id string) *CaptionsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
 // OnBehalfOf sets the optional parameter "onBehalfOf": ID of the
 // Google+ Page for the channel that the request is on behalf of.
 func (c *CaptionsListCall) OnBehalfOf(onBehalfOf string) *CaptionsListCall {
-	c.urlParams_.Set("onBehalfOf", onBehalfOf)
+	c.opt_["onBehalfOf"] = onBehalfOf
 	return c
 }
 
@@ -8137,15 +8219,15 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *CaptionsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *CaptionsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CaptionsListCall) Fields(s ...googleapi.Field) *CaptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -8155,13 +8237,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CaptionsListCall) IfNoneMatch(entityTag string) *CaptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CaptionsListCall) Context(ctx context.Context) *CaptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -8169,14 +8251,29 @@
 
 func (c *CaptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	params.Set("videoId", fmt.Sprintf("%v", c.videoId))
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOf"]; ok {
+		params.Set("onBehalfOf", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "captions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -8271,23 +8368,23 @@
 // method id "youtube.captions.update":
 
 type CaptionsUpdateCall struct {
-	s                *Service
-	caption          *Caption
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	part       string
+	caption    *Caption
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Update: Updates a caption track. When updating a caption track, you
 // can change the track's draft status, upload a new caption file for
 // the track, or both.
 func (r *CaptionsService) Update(part string, caption *Caption) *CaptionsUpdateCall {
-	c := &CaptionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CaptionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.caption = caption
 	return c
 }
@@ -8295,7 +8392,7 @@
 // OnBehalfOf sets the optional parameter "onBehalfOf": ID of the
 // Google+ Page for the channel that the request is be on behalf of
 func (c *CaptionsUpdateCall) OnBehalfOf(onBehalfOf string) *CaptionsUpdateCall {
-	c.urlParams_.Set("onBehalfOf", onBehalfOf)
+	c.opt_["onBehalfOf"] = onBehalfOf
 	return c
 }
 
@@ -8314,7 +8411,7 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *CaptionsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *CaptionsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -8327,24 +8424,24 @@
 // you set the value to true, YouTube will automatically synchronize the
 // caption track with the audio track.
 func (c *CaptionsUpdateCall) Sync(sync bool) *CaptionsUpdateCall {
-	c.urlParams_.Set("sync", fmt.Sprintf("%v", sync))
+	c.opt_["sync"] = sync
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *CaptionsUpdateCall) Media(r io.Reader) *CaptionsUpdateCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *CaptionsUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CaptionsUpdateCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -8353,28 +8450,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *CaptionsUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CaptionsUpdateCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CaptionsUpdateCall) Fields(s ...googleapi.Field) *CaptionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *CaptionsUpdateCall) Context(ctx context.Context) *CaptionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -8387,13 +8483,27 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOf"]; ok {
+		params.Set("onBehalfOf", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sync"]; ok {
+		params.Set("sync", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "captions")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -8444,6 +8554,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -8453,7 +8569,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -8540,12 +8656,11 @@
 type ChannelBannersInsertCall struct {
 	s                     *Service
 	channelbannerresource *ChannelBannerResource
-	urlParams_            internal.URLParams
+	opt_                  map[string]interface{}
 	media_                io.Reader
 	resumable_            googleapi.SizeReaderAt
 	mediaType_            string
 	protocol_             string
-	progressUpdater_      googleapi.ProgressUpdater
 	ctx_                  context.Context
 }
 
@@ -8562,7 +8677,7 @@
 // settings. Set the brandingSettings.image.bannerExternalUrl property's
 // value to the URL obtained in step 2.
 func (r *ChannelBannersService) Insert(channelbannerresource *ChannelBannerResource) *ChannelBannersInsertCall {
-	c := &ChannelBannersInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &ChannelBannersInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.channelbannerresource = channelbannerresource
 	return c
 }
@@ -8581,24 +8696,24 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *ChannelBannersInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelBannersInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ChannelBannersInsertCall) Media(r io.Reader) *ChannelBannersInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ChannelBannersInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ChannelBannersInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -8607,28 +8722,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ChannelBannersInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ChannelBannersInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelBannersInsertCall) Fields(s ...googleapi.Field) *ChannelBannersInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ChannelBannersInsertCall) Context(ctx context.Context) *ChannelBannersInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8641,13 +8755,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channelBanners/insert")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -8698,6 +8819,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -8707,7 +8834,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -8774,15 +8901,16 @@
 // method id "youtube.channelSections.delete":
 
 type ChannelSectionsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a channelSection.
 func (r *ChannelSectionsService) Delete(id string) *ChannelSectionsDeleteCall {
-	c := &ChannelSectionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &ChannelSectionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -8800,21 +8928,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *ChannelSectionsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelSectionsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelSectionsDeleteCall) Fields(s ...googleapi.Field) *ChannelSectionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelSectionsDeleteCall) Context(ctx context.Context) *ChannelSectionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -8822,9 +8950,17 @@
 
 func (c *ChannelSectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channelSections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -8879,15 +9015,16 @@
 
 type ChannelSectionsInsertCall struct {
 	s              *Service
+	part           string
 	channelsection *ChannelSection
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Insert: Adds a channelSection for the authenticated user's channel.
 func (r *ChannelSectionsService) Insert(part string, channelsection *ChannelSection) *ChannelSectionsInsertCall {
-	c := &ChannelSectionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ChannelSectionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.channelsection = channelsection
 	return c
 }
@@ -8906,7 +9043,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *ChannelSectionsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelSectionsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -8932,21 +9069,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *ChannelSectionsInsertCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *ChannelSectionsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelSectionsInsertCall) Fields(s ...googleapi.Field) *ChannelSectionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelSectionsInsertCall) Context(ctx context.Context) *ChannelSectionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -8959,9 +9096,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channelSections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9051,17 +9199,17 @@
 // method id "youtube.channelSections.list":
 
 type ChannelSectionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns channelSection resources that match the API request
 // criteria.
 func (r *ChannelSectionsService) List(part string) *ChannelSectionsListCall {
-	c := &ChannelSectionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ChannelSectionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -9069,7 +9217,7 @@
 // parameter specifies a YouTube channel ID. The API will only return
 // that channel's channelSections.
 func (c *ChannelSectionsListCall) ChannelId(channelId string) *ChannelSectionsListCall {
-	c.urlParams_.Set("channelId", channelId)
+	c.opt_["channelId"] = channelId
 	return c
 }
 
@@ -9082,7 +9230,7 @@
 // owners can provide localized channel section titles using either the
 // channelSections.insert or channelSections.update method.
 func (c *ChannelSectionsListCall) Hl(hl string) *ChannelSectionsListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
@@ -9091,7 +9239,7 @@
 // resource(s) that are being retrieved. In a channelSection resource,
 // the id property specifies the YouTube channelSection ID.
 func (c *ChannelSectionsListCall) Id(id string) *ChannelSectionsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -9099,7 +9247,7 @@
 // to true to retrieve a feed of the authenticated user's
 // channelSections.
 func (c *ChannelSectionsListCall) Mine(mine bool) *ChannelSectionsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -9117,15 +9265,15 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *ChannelSectionsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelSectionsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelSectionsListCall) Fields(s ...googleapi.Field) *ChannelSectionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9135,13 +9283,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChannelSectionsListCall) IfNoneMatch(entityTag string) *ChannelSectionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelSectionsListCall) Context(ctx context.Context) *ChannelSectionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9149,14 +9297,34 @@
 
 func (c *ChannelSectionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["channelId"]; ok {
+		params.Set("channelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channelSections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9257,15 +9425,16 @@
 
 type ChannelSectionsUpdateCall struct {
 	s              *Service
+	part           string
 	channelsection *ChannelSection
-	urlParams_     internal.URLParams
+	opt_           map[string]interface{}
 	ctx_           context.Context
 }
 
 // Update: Update a channelSection.
 func (r *ChannelSectionsService) Update(part string, channelsection *ChannelSection) *ChannelSectionsUpdateCall {
-	c := &ChannelSectionsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ChannelSectionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.channelsection = channelsection
 	return c
 }
@@ -9284,21 +9453,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *ChannelSectionsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelSectionsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelSectionsUpdateCall) Fields(s ...googleapi.Field) *ChannelSectionsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelSectionsUpdateCall) Context(ctx context.Context) *ChannelSectionsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9311,9 +9480,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channelSections")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9398,17 +9575,17 @@
 // method id "youtube.channels.list":
 
 type ChannelsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a collection of zero or more channel resources that
 // match the request criteria.
 func (r *ChannelsService) List(part string) *ChannelsListCall {
-	c := &ChannelsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ChannelsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -9416,7 +9593,7 @@
 // parameter specifies a YouTube guide category, thereby requesting
 // YouTube channels associated with that category.
 func (c *ChannelsListCall) CategoryId(categoryId string) *ChannelsListCall {
-	c.urlParams_.Set("categoryId", categoryId)
+	c.opt_["categoryId"] = categoryId
 	return c
 }
 
@@ -9424,7 +9601,7 @@
 // forUsername parameter specifies a YouTube username, thereby
 // requesting the channel associated with that username.
 func (c *ChannelsListCall) ForUsername(forUsername string) *ChannelsListCall {
-	c.urlParams_.Set("forUsername", forUsername)
+	c.opt_["forUsername"] = forUsername
 	return c
 }
 
@@ -9432,7 +9609,7 @@
 // for filter out the properties that are not in the given language.
 // Used for the brandingSettings part.
 func (c *ChannelsListCall) Hl(hl string) *ChannelsListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
@@ -9441,7 +9618,7 @@
 // that are being retrieved. In a channel resource, the id property
 // specifies the channel's YouTube channel ID.
 func (c *ChannelsListCall) Id(id string) *ChannelsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -9454,7 +9631,7 @@
 // linked to the specified content owner and onBehalfOfContentOwner must
 // be provided.
 func (c *ChannelsListCall) ManagedByMe(managedByMe bool) *ChannelsListCall {
-	c.urlParams_.Set("managedByMe", fmt.Sprintf("%v", managedByMe))
+	c.opt_["managedByMe"] = managedByMe
 	return c
 }
 
@@ -9462,7 +9639,7 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *ChannelsListCall) MaxResults(maxResults int64) *ChannelsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -9470,7 +9647,7 @@
 // to true to instruct the API to only return channels owned by the
 // authenticated user.
 func (c *ChannelsListCall) Mine(mine bool) *ChannelsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -9478,7 +9655,7 @@
 // subscriptions.list method and its mySubscribers parameter to retrieve
 // a list of subscribers to the authenticated user's channel.
 func (c *ChannelsListCall) MySubscribers(mySubscribers bool) *ChannelsListCall {
-	c.urlParams_.Set("mySubscribers", fmt.Sprintf("%v", mySubscribers))
+	c.opt_["mySubscribers"] = mySubscribers
 	return c
 }
 
@@ -9496,7 +9673,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *ChannelsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -9505,15 +9682,15 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *ChannelsListCall) PageToken(pageToken string) *ChannelsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsListCall) Fields(s ...googleapi.Field) *ChannelsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -9523,13 +9700,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ChannelsListCall) IfNoneMatch(entityTag string) *ChannelsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsListCall) Context(ctx context.Context) *ChannelsListCall {
 	c.ctx_ = ctx
 	return c
@@ -9537,14 +9714,49 @@
 
 func (c *ChannelsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["categoryId"]; ok {
+		params.Set("categoryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["forUsername"]; ok {
+		params.Set("forUsername", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["managedByMe"]; ok {
+		params.Set("managedByMe", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mySubscribers"]; ok {
+		params.Set("mySubscribers", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -9674,18 +9886,19 @@
 // method id "youtube.channels.update":
 
 type ChannelsUpdateCall struct {
-	s          *Service
-	channel    *Channel
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	part    string
+	channel *Channel
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Updates a channel's metadata. Note that this method currently
 // only supports updates to the channel resource's brandingSettings and
 // invideoPromotion objects and their child properties.
 func (r *ChannelsService) Update(part string, channel *Channel) *ChannelsUpdateCall {
-	c := &ChannelsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &ChannelsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.channel = channel
 	return c
 }
@@ -9701,21 +9914,21 @@
 // channel. The actual CMS account that the user authenticates with
 // needs to be linked to the specified YouTube content owner.
 func (c *ChannelsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ChannelsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ChannelsUpdateCall) Fields(s ...googleapi.Field) *ChannelsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ChannelsUpdateCall) Context(ctx context.Context) *ChannelsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -9728,9 +9941,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "channels")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9816,31 +10037,32 @@
 
 type CommentThreadsInsertCall struct {
 	s             *Service
+	part          string
 	commentthread *CommentThread
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Creates a new top-level comment. To add a reply to an
 // existing comment, use the comments.insert method instead.
 func (r *CommentThreadsService) Insert(part string, commentthread *CommentThread) *CommentThreadsInsertCall {
-	c := &CommentThreadsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CommentThreadsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.commentthread = commentthread
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentThreadsInsertCall) Fields(s ...googleapi.Field) *CommentThreadsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentThreadsInsertCall) Context(ctx context.Context) *CommentThreadsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -9853,9 +10075,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "commentThreads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -9933,17 +10160,17 @@
 // method id "youtube.commentThreads.list":
 
 type CommentThreadsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of comment threads that match the API request
 // parameters.
 func (r *CommentThreadsService) List(part string) *CommentThreadsListCall {
-	c := &CommentThreadsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CommentThreadsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -9953,7 +10180,7 @@
 // with the specified channel. The response can include comments about
 // the channel or about the channel's videos.
 func (c *CommentThreadsListCall) AllThreadsRelatedToChannelId(allThreadsRelatedToChannelId string) *CommentThreadsListCall {
-	c.urlParams_.Set("allThreadsRelatedToChannelId", allThreadsRelatedToChannelId)
+	c.opt_["allThreadsRelatedToChannelId"] = allThreadsRelatedToChannelId
 	return c
 }
 
@@ -9962,7 +10189,7 @@
 // comments about the specified channel. (The response will not include
 // comments left on videos that the channel uploaded.)
 func (c *CommentThreadsListCall) ChannelId(channelId string) *CommentThreadsListCall {
-	c.urlParams_.Set("channelId", channelId)
+	c.opt_["channelId"] = channelId
 	return c
 }
 
@@ -9970,7 +10197,7 @@
 // comma-separated list of comment thread IDs for the resources that
 // should be retrieved.
 func (c *CommentThreadsListCall) Id(id string) *CommentThreadsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -9981,7 +10208,7 @@
 // Note: This parameter is not supported for use in conjunction with the
 // id parameter.
 func (c *CommentThreadsListCall) MaxResults(maxResults int64) *CommentThreadsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10005,7 +10232,7 @@
 // default value. A comment thread can be included in the response if
 // its top-level comment has been published.
 func (c *CommentThreadsListCall) ModerationStatus(moderationStatus string) *CommentThreadsListCall {
-	c.urlParams_.Set("moderationStatus", moderationStatus)
+	c.opt_["moderationStatus"] = moderationStatus
 	return c
 }
 
@@ -10022,7 +10249,7 @@
 //   "relevance" - Order by relevance.
 //   "time" - Order by time.
 func (c *CommentThreadsListCall) Order(order string) *CommentThreadsListCall {
-	c.urlParams_.Set("order", order)
+	c.opt_["order"] = order
 	return c
 }
 
@@ -10034,7 +10261,7 @@
 // Note: This parameter is not supported for use in conjunction with the
 // id parameter.
 func (c *CommentThreadsListCall) PageToken(pageToken string) *CommentThreadsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -10045,7 +10272,7 @@
 // Note: This parameter is not supported for use in conjunction with the
 // id parameter.
 func (c *CommentThreadsListCall) SearchTerms(searchTerms string) *CommentThreadsListCall {
-	c.urlParams_.Set("searchTerms", searchTerms)
+	c.opt_["searchTerms"] = searchTerms
 	return c
 }
 
@@ -10058,7 +10285,7 @@
 // value.
 //   "plainText" - Returns the comments in plain text format.
 func (c *CommentThreadsListCall) TextFormat(textFormat string) *CommentThreadsListCall {
-	c.urlParams_.Set("textFormat", textFormat)
+	c.opt_["textFormat"] = textFormat
 	return c
 }
 
@@ -10066,15 +10293,15 @@
 // instructs the API to return comment threads associated with the
 // specified video ID.
 func (c *CommentThreadsListCall) VideoId(videoId string) *CommentThreadsListCall {
-	c.urlParams_.Set("videoId", videoId)
+	c.opt_["videoId"] = videoId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentThreadsListCall) Fields(s ...googleapi.Field) *CommentThreadsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10084,13 +10311,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentThreadsListCall) IfNoneMatch(entityTag string) *CommentThreadsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentThreadsListCall) Context(ctx context.Context) *CommentThreadsListCall {
 	c.ctx_ = ctx
 	return c
@@ -10098,14 +10325,49 @@
 
 func (c *CommentThreadsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["allThreadsRelatedToChannelId"]; ok {
+		params.Set("allThreadsRelatedToChannelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["channelId"]; ok {
+		params.Set("channelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["moderationStatus"]; ok {
+		params.Set("moderationStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["order"]; ok {
+		params.Set("order", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["searchTerms"]; ok {
+		params.Set("searchTerms", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["textFormat"]; ok {
+		params.Set("textFormat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoId"]; ok {
+		params.Set("videoId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "commentThreads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10261,30 +10523,31 @@
 
 type CommentThreadsUpdateCall struct {
 	s             *Service
+	part          string
 	commentthread *CommentThread
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Update: Modifies the top-level comment in a comment thread.
 func (r *CommentThreadsService) Update(part string, commentthread *CommentThread) *CommentThreadsUpdateCall {
-	c := &CommentThreadsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CommentThreadsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.commentthread = commentthread
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentThreadsUpdateCall) Fields(s ...googleapi.Field) *CommentThreadsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentThreadsUpdateCall) Context(ctx context.Context) *CommentThreadsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -10297,9 +10560,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "commentThreads")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -10377,29 +10645,30 @@
 // method id "youtube.comments.delete":
 
 type CommentsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a comment.
 func (r *CommentsService) Delete(id string) *CommentsDeleteCall {
-	c := &CommentsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &CommentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsDeleteCall) Fields(s ...googleapi.Field) *CommentsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsDeleteCall) Context(ctx context.Context) *CommentsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -10407,9 +10676,14 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -10456,32 +10730,33 @@
 // method id "youtube.comments.insert":
 
 type CommentsInsertCall struct {
-	s          *Service
-	comment    *Comment
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	part    string
+	comment *Comment
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Insert: Creates a reply to an existing comment. Note: To create a
 // top-level comment, use the commentThreads.insert method.
 func (r *CommentsService) Insert(part string, comment *Comment) *CommentsInsertCall {
-	c := &CommentsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CommentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.comment = comment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsInsertCall) Fields(s ...googleapi.Field) *CommentsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsInsertCall) Context(ctx context.Context) *CommentsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -10494,9 +10769,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -10574,17 +10854,17 @@
 // method id "youtube.comments.list":
 
 type CommentsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of comments that match the API request
 // parameters.
 func (r *CommentsService) List(part string) *CommentsListCall {
-	c := &CommentsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CommentsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -10593,7 +10873,7 @@
 // retrieved. In a comment resource, the id property specifies the
 // comment's ID.
 func (c *CommentsListCall) Id(id string) *CommentsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -10604,7 +10884,7 @@
 // Note: This parameter is not supported for use in conjunction with the
 // id parameter.
 func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -10616,7 +10896,7 @@
 // Note: This parameter is not supported for use in conjunction with the
 // id parameter.
 func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -10627,7 +10907,7 @@
 // Note: YouTube currently supports replies only for top-level comments.
 // However, replies to replies may be supported in the future.
 func (c *CommentsListCall) ParentId(parentId string) *CommentsListCall {
-	c.urlParams_.Set("parentId", parentId)
+	c.opt_["parentId"] = parentId
 	return c
 }
 
@@ -10640,15 +10920,15 @@
 // value.
 //   "plainText" - Returns the comments in plain text format.
 func (c *CommentsListCall) TextFormat(textFormat string) *CommentsListCall {
-	c.urlParams_.Set("textFormat", textFormat)
+	c.opt_["textFormat"] = textFormat
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -10658,13 +10938,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
 	c.ctx_ = ctx
 	return c
@@ -10672,14 +10952,34 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["parentId"]; ok {
+		params.Set("parentId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["textFormat"]; ok {
+		params.Set("textFormat", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -10789,30 +11089,31 @@
 // method id "youtube.comments.markAsSpam":
 
 type CommentsMarkAsSpamCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // MarkAsSpam: Expresses the caller's opinion that one or more comments
 // should be flagged as spam.
 func (r *CommentsService) MarkAsSpam(id string) *CommentsMarkAsSpamCall {
-	c := &CommentsMarkAsSpamCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &CommentsMarkAsSpamCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsMarkAsSpamCall) Fields(s ...googleapi.Field) *CommentsMarkAsSpamCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsMarkAsSpamCall) Context(ctx context.Context) *CommentsMarkAsSpamCall {
 	c.ctx_ = ctx
 	return c
@@ -10820,9 +11121,14 @@
 
 func (c *CommentsMarkAsSpamCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments/markAsSpam")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -10869,18 +11175,20 @@
 // method id "youtube.comments.setModerationStatus":
 
 type CommentsSetModerationStatusCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s                *Service
+	id               string
+	moderationStatus string
+	opt_             map[string]interface{}
+	ctx_             context.Context
 }
 
 // SetModerationStatus: Sets the moderation status of one or more
 // comments. The API request must be authorized by the owner of the
 // channel or video associated with the comments.
 func (r *CommentsService) SetModerationStatus(id string, moderationStatus string) *CommentsSetModerationStatusCall {
-	c := &CommentsSetModerationStatusCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
-	c.urlParams_.Set("moderationStatus", moderationStatus)
+	c := &CommentsSetModerationStatusCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
+	c.moderationStatus = moderationStatus
 	return c
 }
 
@@ -10892,21 +11200,21 @@
 // Note: This parameter is only valid if the moderationStatus parameter
 // is also set to rejected.
 func (c *CommentsSetModerationStatusCall) BanAuthor(banAuthor bool) *CommentsSetModerationStatusCall {
-	c.urlParams_.Set("banAuthor", fmt.Sprintf("%v", banAuthor))
+	c.opt_["banAuthor"] = banAuthor
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsSetModerationStatusCall) Fields(s ...googleapi.Field) *CommentsSetModerationStatusCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsSetModerationStatusCall) Context(ctx context.Context) *CommentsSetModerationStatusCall {
 	c.ctx_ = ctx
 	return c
@@ -10914,9 +11222,18 @@
 
 func (c *CommentsSetModerationStatusCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	params.Set("moderationStatus", fmt.Sprintf("%v", c.moderationStatus))
+	if v, ok := c.opt_["banAuthor"]; ok {
+		params.Set("banAuthor", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments/setModerationStatus")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -10986,31 +11303,32 @@
 // method id "youtube.comments.update":
 
 type CommentsUpdateCall struct {
-	s          *Service
-	comment    *Comment
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s       *Service
+	part    string
+	comment *Comment
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // Update: Modifies a comment.
 func (r *CommentsService) Update(part string, comment *Comment) *CommentsUpdateCall {
-	c := &CommentsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &CommentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.comment = comment
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *CommentsUpdateCall) Fields(s ...googleapi.Field) *CommentsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *CommentsUpdateCall) Context(ctx context.Context) *CommentsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -11023,9 +11341,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "comments")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -11103,24 +11426,24 @@
 // method id "youtube.guideCategories.list":
 
 type GuideCategoriesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of categories that can be associated with
 // YouTube channels.
 func (r *GuideCategoriesService) List(part string) *GuideCategoriesListCall {
-	c := &GuideCategoriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &GuideCategoriesListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
 // Hl sets the optional parameter "hl": The hl parameter specifies the
 // language that will be used for text values in the API response.
 func (c *GuideCategoriesListCall) Hl(hl string) *GuideCategoriesListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
@@ -11129,7 +11452,7 @@
 // resource(s) that are being retrieved. In a guideCategory resource,
 // the id property specifies the YouTube channel category ID.
 func (c *GuideCategoriesListCall) Id(id string) *GuideCategoriesListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -11138,15 +11461,15 @@
 // available in the specified country. The parameter value is an ISO
 // 3166-1 alpha-2 country code.
 func (c *GuideCategoriesListCall) RegionCode(regionCode string) *GuideCategoriesListCall {
-	c.urlParams_.Set("regionCode", regionCode)
+	c.opt_["regionCode"] = regionCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GuideCategoriesListCall) Fields(s ...googleapi.Field) *GuideCategoriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11156,13 +11479,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GuideCategoriesListCall) IfNoneMatch(entityTag string) *GuideCategoriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GuideCategoriesListCall) Context(ctx context.Context) *GuideCategoriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11170,14 +11493,28 @@
 
 func (c *GuideCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionCode"]; ok {
+		params.Set("regionCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "guideCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11268,32 +11605,32 @@
 // method id "youtube.i18nLanguages.list":
 
 type I18nLanguagesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of application languages that the YouTube
 // website supports.
 func (r *I18nLanguagesService) List(part string) *I18nLanguagesListCall {
-	c := &I18nLanguagesListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &I18nLanguagesListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
 // Hl sets the optional parameter "hl": The hl parameter specifies the
 // language that should be used for text values in the API response.
 func (c *I18nLanguagesListCall) Hl(hl string) *I18nLanguagesListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *I18nLanguagesListCall) Fields(s ...googleapi.Field) *I18nLanguagesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11303,13 +11640,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *I18nLanguagesListCall) IfNoneMatch(entityTag string) *I18nLanguagesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *I18nLanguagesListCall) Context(ctx context.Context) *I18nLanguagesListCall {
 	c.ctx_ = ctx
 	return c
@@ -11317,14 +11654,22 @@
 
 func (c *I18nLanguagesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "i18nLanguages")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11405,32 +11750,32 @@
 // method id "youtube.i18nRegions.list":
 
 type I18nRegionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of content regions that the YouTube website
 // supports.
 func (r *I18nRegionsService) List(part string) *I18nRegionsListCall {
-	c := &I18nRegionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &I18nRegionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
 // Hl sets the optional parameter "hl": The hl parameter specifies the
 // language that should be used for text values in the API response.
 func (c *I18nRegionsListCall) Hl(hl string) *I18nRegionsListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *I18nRegionsListCall) Fields(s ...googleapi.Field) *I18nRegionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -11440,13 +11785,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *I18nRegionsListCall) IfNoneMatch(entityTag string) *I18nRegionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *I18nRegionsListCall) Context(ctx context.Context) *I18nRegionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -11454,14 +11799,22 @@
 
 func (c *I18nRegionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "i18nRegions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -11542,9 +11895,11 @@
 // method id "youtube.liveBroadcasts.bind":
 
 type LiveBroadcastsBindCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Bind: Binds a YouTube broadcast to a stream or removes an existing
@@ -11552,9 +11907,9 @@
 // bound to one video stream, though a video stream may be bound to more
 // than one broadcast.
 func (r *LiveBroadcastsService) Bind(id string, part string) *LiveBroadcastsBindCall {
-	c := &LiveBroadcastsBindCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsBindCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
+	c.part = part
 	return c
 }
 
@@ -11572,7 +11927,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsBindCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsBindCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -11598,7 +11953,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsBindCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsBindCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -11607,21 +11962,21 @@
 // bound to a broadcast. If this parameter is omitted, the API will
 // remove any existing binding between the broadcast and a video stream.
 func (c *LiveBroadcastsBindCall) StreamId(streamId string) *LiveBroadcastsBindCall {
-	c.urlParams_.Set("streamId", streamId)
+	c.opt_["streamId"] = streamId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsBindCall) Fields(s ...googleapi.Field) *LiveBroadcastsBindCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsBindCall) Context(ctx context.Context) *LiveBroadcastsBindCall {
 	c.ctx_ = ctx
 	return c
@@ -11629,9 +11984,24 @@
 
 func (c *LiveBroadcastsBindCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["streamId"]; ok {
+		params.Set("streamId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts/bind")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -11728,9 +12098,11 @@
 // method id "youtube.liveBroadcasts.bind_direct":
 
 type LiveBroadcastsBindDirectCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // BindDirect: Binds a YouTube broadcast to a stream or removes an
@@ -11738,9 +12110,9 @@
 // only be bound to one video stream, though a video stream may be bound
 // to more than one broadcast.
 func (r *LiveBroadcastsService) BindDirect(id string, part string) *LiveBroadcastsBindDirectCall {
-	c := &LiveBroadcastsBindDirectCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsBindDirectCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
+	c.part = part
 	return c
 }
 
@@ -11758,7 +12130,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsBindDirectCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsBindDirectCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -11784,7 +12156,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsBindDirectCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsBindDirectCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -11793,21 +12165,21 @@
 // bound to a broadcast. If this parameter is omitted, the API will
 // remove any existing binding between the broadcast and a video stream.
 func (c *LiveBroadcastsBindDirectCall) StreamId(streamId string) *LiveBroadcastsBindDirectCall {
-	c.urlParams_.Set("streamId", streamId)
+	c.opt_["streamId"] = streamId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsBindDirectCall) Fields(s ...googleapi.Field) *LiveBroadcastsBindDirectCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsBindDirectCall) Context(ctx context.Context) *LiveBroadcastsBindDirectCall {
 	c.ctx_ = ctx
 	return c
@@ -11815,9 +12187,24 @@
 
 func (c *LiveBroadcastsBindDirectCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["streamId"]; ok {
+		params.Set("streamId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts/bind/direct")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -11914,17 +12301,19 @@
 // method id "youtube.liveBroadcasts.control":
 
 type LiveBroadcastsControlCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Control: Controls the settings for a slate that can be displayed in
 // the broadcast stream.
 func (r *LiveBroadcastsService) Control(id string, part string) *LiveBroadcastsControlCall {
-	c := &LiveBroadcastsControlCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsControlCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
+	c.part = part
 	return c
 }
 
@@ -11932,7 +12321,7 @@
 // displaySlate parameter specifies whether the slate is being enabled
 // or disabled.
 func (c *LiveBroadcastsControlCall) DisplaySlate(displaySlate bool) *LiveBroadcastsControlCall {
-	c.urlParams_.Set("displaySlate", fmt.Sprintf("%v", displaySlate))
+	c.opt_["displaySlate"] = displaySlate
 	return c
 }
 
@@ -11952,7 +12341,7 @@
 // Important: You should only specify a value for this parameter if your
 // broadcast stream is delayed.
 func (c *LiveBroadcastsControlCall) OffsetTimeMs(offsetTimeMs uint64) *LiveBroadcastsControlCall {
-	c.urlParams_.Set("offsetTimeMs", fmt.Sprintf("%v", offsetTimeMs))
+	c.opt_["offsetTimeMs"] = offsetTimeMs
 	return c
 }
 
@@ -11970,7 +12359,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsControlCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsControlCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -11996,7 +12385,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsControlCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsControlCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -12005,21 +12394,21 @@
 // change will occur. The value is specified in ISO 8601
 // (YYYY-MM-DDThh:mm:ss.sssZ) format.
 func (c *LiveBroadcastsControlCall) Walltime(walltime string) *LiveBroadcastsControlCall {
-	c.urlParams_.Set("walltime", walltime)
+	c.opt_["walltime"] = walltime
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsControlCall) Fields(s ...googleapi.Field) *LiveBroadcastsControlCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsControlCall) Context(ctx context.Context) *LiveBroadcastsControlCall {
 	c.ctx_ = ctx
 	return c
@@ -12027,9 +12416,30 @@
 
 func (c *LiveBroadcastsControlCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["displaySlate"]; ok {
+		params.Set("displaySlate", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["offsetTimeMs"]; ok {
+		params.Set("offsetTimeMs", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["walltime"]; ok {
+		params.Set("walltime", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts/control")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -12138,15 +12548,16 @@
 // method id "youtube.liveBroadcasts.delete":
 
 type LiveBroadcastsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a broadcast.
 func (r *LiveBroadcastsService) Delete(id string) *LiveBroadcastsDeleteCall {
-	c := &LiveBroadcastsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &LiveBroadcastsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -12164,7 +12575,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -12190,21 +12601,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsDeleteCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsDeleteCall) Fields(s ...googleapi.Field) *LiveBroadcastsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsDeleteCall) Context(ctx context.Context) *LiveBroadcastsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -12212,9 +12623,20 @@
 
 func (c *LiveBroadcastsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -12273,15 +12695,16 @@
 
 type LiveBroadcastsInsertCall struct {
 	s             *Service
+	part          string
 	livebroadcast *LiveBroadcast
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
 // Insert: Creates a broadcast.
 func (r *LiveBroadcastsService) Insert(part string, livebroadcast *LiveBroadcast) *LiveBroadcastsInsertCall {
-	c := &LiveBroadcastsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.livebroadcast = livebroadcast
 	return c
 }
@@ -12300,7 +12723,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -12326,21 +12749,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsInsertCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsInsertCall) Fields(s ...googleapi.Field) *LiveBroadcastsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsInsertCall) Context(ctx context.Context) *LiveBroadcastsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -12353,9 +12776,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -12444,17 +12878,17 @@
 // method id "youtube.liveBroadcasts.list":
 
 type LiveBroadcastsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of YouTube broadcasts that match the API request
 // parameters.
 func (r *LiveBroadcastsService) List(part string) *LiveBroadcastsListCall {
-	c := &LiveBroadcastsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -12468,7 +12902,7 @@
 //   "completed" - Return broadcasts that have already ended.
 //   "upcoming" - Return broadcasts that have not yet started.
 func (c *LiveBroadcastsListCall) BroadcastStatus(broadcastStatus string) *LiveBroadcastsListCall {
-	c.urlParams_.Set("broadcastStatus", broadcastStatus)
+	c.opt_["broadcastStatus"] = broadcastStatus
 	return c
 }
 
@@ -12477,7 +12911,7 @@
 // broadcasts being retrieved. In a liveBroadcast resource, the id
 // property specifies the broadcast's ID.
 func (c *LiveBroadcastsListCall) Id(id string) *LiveBroadcastsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -12485,7 +12919,7 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *LiveBroadcastsListCall) MaxResults(maxResults int64) *LiveBroadcastsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -12494,7 +12928,7 @@
 // authenticated user. Set the parameter value to true to only retrieve
 // your own broadcasts.
 func (c *LiveBroadcastsListCall) Mine(mine bool) *LiveBroadcastsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -12512,7 +12946,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -12538,7 +12972,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsListCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -12547,15 +12981,15 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *LiveBroadcastsListCall) PageToken(pageToken string) *LiveBroadcastsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsListCall) Fields(s ...googleapi.Field) *LiveBroadcastsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -12565,13 +12999,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LiveBroadcastsListCall) IfNoneMatch(entityTag string) *LiveBroadcastsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsListCall) Context(ctx context.Context) *LiveBroadcastsListCall {
 	c.ctx_ = ctx
 	return c
@@ -12579,14 +13013,40 @@
 
 func (c *LiveBroadcastsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["broadcastStatus"]; ok {
+		params.Set("broadcastStatus", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -12711,9 +13171,12 @@
 // method id "youtube.liveBroadcasts.transition":
 
 type LiveBroadcastsTransitionCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s               *Service
+	broadcastStatus string
+	id              string
+	part            string
+	opt_            map[string]interface{}
+	ctx_            context.Context
 }
 
 // Transition: Changes the status of a YouTube live broadcast and
@@ -12724,10 +13187,10 @@
 // status.streamStatus property for the stream bound to your broadcast
 // is active.
 func (r *LiveBroadcastsService) Transition(broadcastStatus string, id string, part string) *LiveBroadcastsTransitionCall {
-	c := &LiveBroadcastsTransitionCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("broadcastStatus", broadcastStatus)
-	c.urlParams_.Set("id", id)
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsTransitionCall{s: r.s, opt_: make(map[string]interface{})}
+	c.broadcastStatus = broadcastStatus
+	c.id = id
+	c.part = part
 	return c
 }
 
@@ -12745,7 +13208,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsTransitionCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsTransitionCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -12771,21 +13234,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsTransitionCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsTransitionCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsTransitionCall) Fields(s ...googleapi.Field) *LiveBroadcastsTransitionCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsTransitionCall) Context(ctx context.Context) *LiveBroadcastsTransitionCall {
 	c.ctx_ = ctx
 	return c
@@ -12793,9 +13256,22 @@
 
 func (c *LiveBroadcastsTransitionCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("broadcastStatus", fmt.Sprintf("%v", c.broadcastStatus))
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts/transition")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -12905,8 +13381,9 @@
 
 type LiveBroadcastsUpdateCall struct {
 	s             *Service
+	part          string
 	livebroadcast *LiveBroadcast
-	urlParams_    internal.URLParams
+	opt_          map[string]interface{}
 	ctx_          context.Context
 }
 
@@ -12914,8 +13391,8 @@
 // broadcast settings defined in the liveBroadcast resource's
 // contentDetails object.
 func (r *LiveBroadcastsService) Update(part string, livebroadcast *LiveBroadcast) *LiveBroadcastsUpdateCall {
-	c := &LiveBroadcastsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &LiveBroadcastsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.livebroadcast = livebroadcast
 	return c
 }
@@ -12934,7 +13411,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveBroadcastsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveBroadcastsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -12960,21 +13437,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveBroadcastsUpdateCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveBroadcastsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveBroadcastsUpdateCall) Fields(s ...googleapi.Field) *LiveBroadcastsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveBroadcastsUpdateCall) Context(ctx context.Context) *LiveBroadcastsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -12987,9 +13464,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveBroadcasts")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -13078,15 +13566,16 @@
 // method id "youtube.liveStreams.delete":
 
 type LiveStreamsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a video stream.
 func (r *LiveStreamsService) Delete(id string) *LiveStreamsDeleteCall {
-	c := &LiveStreamsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &LiveStreamsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -13104,7 +13593,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveStreamsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveStreamsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -13130,21 +13619,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveStreamsDeleteCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveStreamsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveStreamsDeleteCall) Fields(s ...googleapi.Field) *LiveStreamsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveStreamsDeleteCall) Context(ctx context.Context) *LiveStreamsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13152,9 +13641,20 @@
 
 func (c *LiveStreamsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveStreams")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -13213,8 +13713,9 @@
 
 type LiveStreamsInsertCall struct {
 	s          *Service
+	part       string
 	livestream *LiveStream
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -13222,8 +13723,8 @@
 // video to YouTube, which can then broadcast the video to your
 // audience.
 func (r *LiveStreamsService) Insert(part string, livestream *LiveStream) *LiveStreamsInsertCall {
-	c := &LiveStreamsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &LiveStreamsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.livestream = livestream
 	return c
 }
@@ -13242,7 +13743,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveStreamsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveStreamsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -13268,21 +13769,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveStreamsInsertCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveStreamsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveStreamsInsertCall) Fields(s ...googleapi.Field) *LiveStreamsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveStreamsInsertCall) Context(ctx context.Context) *LiveStreamsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13295,9 +13796,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveStreams")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -13386,17 +13898,17 @@
 // method id "youtube.liveStreams.list":
 
 type LiveStreamsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of video streams that match the API request
 // parameters.
 func (r *LiveStreamsService) List(part string) *LiveStreamsListCall {
-	c := &LiveStreamsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &LiveStreamsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -13405,7 +13917,7 @@
 // being retrieved. In a liveStream resource, the id property specifies
 // the stream's ID.
 func (c *LiveStreamsListCall) Id(id string) *LiveStreamsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -13413,7 +13925,7 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *LiveStreamsListCall) MaxResults(maxResults int64) *LiveStreamsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -13422,7 +13934,7 @@
 // authenticated user. Set the parameter value to true to only retrieve
 // your own streams.
 func (c *LiveStreamsListCall) Mine(mine bool) *LiveStreamsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -13440,7 +13952,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveStreamsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveStreamsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -13466,7 +13978,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveStreamsListCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveStreamsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -13475,15 +13987,15 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *LiveStreamsListCall) PageToken(pageToken string) *LiveStreamsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveStreamsListCall) Fields(s ...googleapi.Field) *LiveStreamsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -13493,13 +14005,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *LiveStreamsListCall) IfNoneMatch(entityTag string) *LiveStreamsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveStreamsListCall) Context(ctx context.Context) *LiveStreamsListCall {
 	c.ctx_ = ctx
 	return c
@@ -13507,14 +14019,37 @@
 
 func (c *LiveStreamsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveStreams")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -13623,8 +14158,9 @@
 
 type LiveStreamsUpdateCall struct {
 	s          *Service
+	part       string
 	livestream *LiveStream
-	urlParams_ internal.URLParams
+	opt_       map[string]interface{}
 	ctx_       context.Context
 }
 
@@ -13632,8 +14168,8 @@
 // change cannot be updated, then you need to create a new stream with
 // the proper settings.
 func (r *LiveStreamsService) Update(part string, livestream *LiveStream) *LiveStreamsUpdateCall {
-	c := &LiveStreamsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &LiveStreamsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.livestream = livestream
 	return c
 }
@@ -13652,7 +14188,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *LiveStreamsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *LiveStreamsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -13678,21 +14214,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *LiveStreamsUpdateCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *LiveStreamsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *LiveStreamsUpdateCall) Fields(s ...googleapi.Field) *LiveStreamsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *LiveStreamsUpdateCall) Context(ctx context.Context) *LiveStreamsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -13705,9 +14241,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "liveStreams")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -13796,29 +14343,30 @@
 // method id "youtube.playlistItems.delete":
 
 type PlaylistItemsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a playlist item.
 func (r *PlaylistItemsService) Delete(id string) *PlaylistItemsDeleteCall {
-	c := &PlaylistItemsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &PlaylistItemsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistItemsDeleteCall) Fields(s ...googleapi.Field) *PlaylistItemsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistItemsDeleteCall) Context(ctx context.Context) *PlaylistItemsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -13826,9 +14374,14 @@
 
 func (c *PlaylistItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlistItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -13878,15 +14431,16 @@
 
 type PlaylistItemsInsertCall struct {
 	s            *Service
+	part         string
 	playlistitem *PlaylistItem
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Adds a resource to a playlist.
 func (r *PlaylistItemsService) Insert(part string, playlistitem *PlaylistItem) *PlaylistItemsInsertCall {
-	c := &PlaylistItemsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &PlaylistItemsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.playlistitem = playlistitem
 	return c
 }
@@ -13905,21 +14459,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *PlaylistItemsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *PlaylistItemsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistItemsInsertCall) Fields(s ...googleapi.Field) *PlaylistItemsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistItemsInsertCall) Context(ctx context.Context) *PlaylistItemsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -13932,9 +14486,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlistItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -14019,10 +14581,10 @@
 // method id "youtube.playlistItems.list":
 
 type PlaylistItemsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a collection of playlist items that match the API
@@ -14030,15 +14592,15 @@
 // specified playlist or retrieve one or more playlist items by their
 // unique IDs.
 func (r *PlaylistItemsService) List(part string) *PlaylistItemsListCall {
-	c := &PlaylistItemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &PlaylistItemsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
 // Id sets the optional parameter "id": The id parameter specifies a
 // comma-separated list of one or more unique playlist item IDs.
 func (c *PlaylistItemsListCall) Id(id string) *PlaylistItemsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -14046,7 +14608,7 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *PlaylistItemsListCall) MaxResults(maxResults int64) *PlaylistItemsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14064,7 +14626,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *PlaylistItemsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *PlaylistItemsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -14073,7 +14635,7 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *PlaylistItemsListCall) PageToken(pageToken string) *PlaylistItemsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -14083,7 +14645,7 @@
 // parameter, every request to retrieve playlist items must specify a
 // value for either the id parameter or the playlistId parameter.
 func (c *PlaylistItemsListCall) PlaylistId(playlistId string) *PlaylistItemsListCall {
-	c.urlParams_.Set("playlistId", playlistId)
+	c.opt_["playlistId"] = playlistId
 	return c
 }
 
@@ -14091,15 +14653,15 @@
 // specifies that the request should return only the playlist items that
 // contain the specified video.
 func (c *PlaylistItemsListCall) VideoId(videoId string) *PlaylistItemsListCall {
-	c.urlParams_.Set("videoId", videoId)
+	c.opt_["videoId"] = videoId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistItemsListCall) Fields(s ...googleapi.Field) *PlaylistItemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14109,13 +14671,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlaylistItemsListCall) IfNoneMatch(entityTag string) *PlaylistItemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistItemsListCall) Context(ctx context.Context) *PlaylistItemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -14123,14 +14685,37 @@
 
 func (c *PlaylistItemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["playlistId"]; ok {
+		params.Set("playlistId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoId"]; ok {
+		params.Set("videoId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlistItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14241,31 +14826,32 @@
 
 type PlaylistItemsUpdateCall struct {
 	s            *Service
+	part         string
 	playlistitem *PlaylistItem
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Update: Modifies a playlist item. For example, you could update the
 // item's position in the playlist.
 func (r *PlaylistItemsService) Update(part string, playlistitem *PlaylistItem) *PlaylistItemsUpdateCall {
-	c := &PlaylistItemsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &PlaylistItemsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.playlistitem = playlistitem
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistItemsUpdateCall) Fields(s ...googleapi.Field) *PlaylistItemsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistItemsUpdateCall) Context(ctx context.Context) *PlaylistItemsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -14278,9 +14864,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlistItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -14360,15 +14951,16 @@
 // method id "youtube.playlists.delete":
 
 type PlaylistsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a playlist.
 func (r *PlaylistsService) Delete(id string) *PlaylistsDeleteCall {
-	c := &PlaylistsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &PlaylistsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -14386,21 +14978,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *PlaylistsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *PlaylistsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistsDeleteCall) Fields(s ...googleapi.Field) *PlaylistsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistsDeleteCall) Context(ctx context.Context) *PlaylistsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -14408,9 +15000,17 @@
 
 func (c *PlaylistsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -14464,16 +15064,17 @@
 // method id "youtube.playlists.insert":
 
 type PlaylistsInsertCall struct {
-	s          *Service
-	playlist   *Playlist
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	part     string
+	playlist *Playlist
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Insert: Creates a playlist.
 func (r *PlaylistsService) Insert(part string, playlist *Playlist) *PlaylistsInsertCall {
-	c := &PlaylistsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &PlaylistsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.playlist = playlist
 	return c
 }
@@ -14492,7 +15093,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *PlaylistsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *PlaylistsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -14518,21 +15119,21 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *PlaylistsInsertCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *PlaylistsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistsInsertCall) Fields(s ...googleapi.Field) *PlaylistsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistsInsertCall) Context(ctx context.Context) *PlaylistsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -14545,9 +15146,20 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -14637,10 +15249,10 @@
 // method id "youtube.playlists.list":
 
 type PlaylistsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a collection of playlists that match the API request
@@ -14648,8 +15260,8 @@
 // authenticated user owns, or you can retrieve one or more playlists by
 // their unique IDs.
 func (r *PlaylistsService) List(part string) *PlaylistsListCall {
-	c := &PlaylistsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &PlaylistsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -14657,7 +15269,7 @@
 // indicates that the API should only return the specified channel's
 // playlists.
 func (c *PlaylistsListCall) ChannelId(channelId string) *PlaylistsListCall {
-	c.urlParams_.Set("channelId", channelId)
+	c.opt_["channelId"] = channelId
 	return c
 }
 
@@ -14665,7 +15277,7 @@
 // for filter out the properties that are not in the given language.
 // Used for the snippet part.
 func (c *PlaylistsListCall) Hl(hl string) *PlaylistsListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
@@ -14674,7 +15286,7 @@
 // resource(s) that are being retrieved. In a playlist resource, the id
 // property specifies the playlist's YouTube playlist ID.
 func (c *PlaylistsListCall) Id(id string) *PlaylistsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -14682,7 +15294,7 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *PlaylistsListCall) MaxResults(maxResults int64) *PlaylistsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -14690,7 +15302,7 @@
 // to true to instruct the API to only return playlists owned by the
 // authenticated user.
 func (c *PlaylistsListCall) Mine(mine bool) *PlaylistsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -14708,7 +15320,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *PlaylistsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *PlaylistsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -14734,7 +15346,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *PlaylistsListCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *PlaylistsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -14743,15 +15355,15 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *PlaylistsListCall) PageToken(pageToken string) *PlaylistsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistsListCall) Fields(s ...googleapi.Field) *PlaylistsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -14761,13 +15373,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *PlaylistsListCall) IfNoneMatch(entityTag string) *PlaylistsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistsListCall) Context(ctx context.Context) *PlaylistsListCall {
 	c.ctx_ = ctx
 	return c
@@ -14775,14 +15387,43 @@
 
 func (c *PlaylistsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["channelId"]; ok {
+		params.Set("channelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -14901,17 +15542,18 @@
 // method id "youtube.playlists.update":
 
 type PlaylistsUpdateCall struct {
-	s          *Service
-	playlist   *Playlist
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s        *Service
+	part     string
+	playlist *Playlist
+	opt_     map[string]interface{}
+	ctx_     context.Context
 }
 
 // Update: Modifies a playlist. For example, you could change a
 // playlist's title, description, or privacy status.
 func (r *PlaylistsService) Update(part string, playlist *Playlist) *PlaylistsUpdateCall {
-	c := &PlaylistsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &PlaylistsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.playlist = playlist
 	return c
 }
@@ -14930,21 +15572,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *PlaylistsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *PlaylistsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *PlaylistsUpdateCall) Fields(s ...googleapi.Field) *PlaylistsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *PlaylistsUpdateCall) Context(ctx context.Context) *PlaylistsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -14957,9 +15599,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "playlists")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -15044,10 +15694,10 @@
 // method id "youtube.search.list":
 
 type SearchListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a collection of search results that match the query
@@ -15056,8 +15706,8 @@
 // you can also configure queries to only retrieve a specific type of
 // resource.
 func (r *SearchService) List(part string) *SearchListCall {
-	c := &SearchListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &SearchListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -15065,7 +15715,7 @@
 // parameter indicates that the API response should only contain
 // resources created by the channel
 func (c *SearchListCall) ChannelId(channelId string) *SearchListCall {
-	c.urlParams_.Set("channelId", channelId)
+	c.opt_["channelId"] = channelId
 	return c
 }
 
@@ -15077,7 +15727,7 @@
 //   "any" - Return all channels.
 //   "show" - Only retrieve shows.
 func (c *SearchListCall) ChannelType(channelType string) *SearchListCall {
-	c.urlParams_.Set("channelType", channelType)
+	c.opt_["channelType"] = channelType
 	return c
 }
 
@@ -15091,7 +15741,7 @@
 //   "live" - Only include active broadcasts.
 //   "upcoming" - Only include upcoming broadcasts.
 func (c *SearchListCall) EventType(eventType string) *SearchListCall {
-	c.urlParams_.Set("eventType", eventType)
+	c.opt_["eventType"] = eventType
 	return c
 }
 
@@ -15105,7 +15755,7 @@
 // using a CMS account linked to the specified content owner and
 // onBehalfOfContentOwner must be provided.
 func (c *SearchListCall) ForContentOwner(forContentOwner bool) *SearchListCall {
-	c.urlParams_.Set("forContentOwner", fmt.Sprintf("%v", forContentOwner))
+	c.opt_["forContentOwner"] = forContentOwner
 	return c
 }
 
@@ -15117,7 +15767,7 @@
 // uploaded through the developer's own app or website but not to videos
 // uploaded through other apps or sites.
 func (c *SearchListCall) ForDeveloper(forDeveloper bool) *SearchListCall {
-	c.urlParams_.Set("forDeveloper", fmt.Sprintf("%v", forDeveloper))
+	c.opt_["forDeveloper"] = forDeveloper
 	return c
 }
 
@@ -15126,7 +15776,7 @@
 // authenticated user. If you set this parameter to true, then the type
 // parameter's value must also be set to video.
 func (c *SearchListCall) ForMine(forMine bool) *SearchListCall {
-	c.urlParams_.Set("forMine", fmt.Sprintf("%v", forMine))
+	c.opt_["forMine"] = forMine
 	return c
 }
 
@@ -15146,7 +15796,7 @@
 // error if your request specifies a value for the location parameter
 // but does not also specify a value for the locationRadius parameter.
 func (c *SearchListCall) Location(location string) *SearchListCall {
-	c.urlParams_.Set("location", location)
+	c.opt_["location"] = location
 	return c
 }
 
@@ -15163,7 +15813,7 @@
 // Note: See the definition of the location parameter for more
 // information.
 func (c *SearchListCall) LocationRadius(locationRadius string) *SearchListCall {
-	c.urlParams_.Set("locationRadius", locationRadius)
+	c.opt_["locationRadius"] = locationRadius
 	return c
 }
 
@@ -15171,7 +15821,7 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *SearchListCall) MaxResults(maxResults int64) *SearchListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -15189,7 +15839,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *SearchListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *SearchListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -15209,7 +15859,7 @@
 //   "viewCount" - Resources are sorted from highest to lowest number of
 // views.
 func (c *SearchListCall) Order(order string) *SearchListCall {
-	c.urlParams_.Set("order", order)
+	c.opt_["order"] = order
 	return c
 }
 
@@ -15218,7 +15868,7 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *SearchListCall) PageToken(pageToken string) *SearchListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -15227,7 +15877,7 @@
 // contain resources created after the specified time. The value is an
 // RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
 func (c *SearchListCall) PublishedAfter(publishedAfter string) *SearchListCall {
-	c.urlParams_.Set("publishedAfter", publishedAfter)
+	c.opt_["publishedAfter"] = publishedAfter
 	return c
 }
 
@@ -15236,7 +15886,7 @@
 // contain resources created before the specified time. The value is an
 // RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
 func (c *SearchListCall) PublishedBefore(publishedBefore string) *SearchListCall {
-	c.urlParams_.Set("publishedBefore", publishedBefore)
+	c.opt_["publishedBefore"] = publishedBefore
 	return c
 }
 
@@ -15253,7 +15903,7 @@
 // URL-escaped when it is sent in your API request. The URL-escaped
 // value for the pipe character is %7C.
 func (c *SearchListCall) Q(q string) *SearchListCall {
-	c.urlParams_.Set("q", q)
+	c.opt_["q"] = q
 	return c
 }
 
@@ -15262,7 +15912,7 @@
 // specified country. The parameter value is an ISO 3166-1 alpha-2
 // country code.
 func (c *SearchListCall) RegionCode(regionCode string) *SearchListCall {
-	c.urlParams_.Set("regionCode", regionCode)
+	c.opt_["regionCode"] = regionCode
 	return c
 }
 
@@ -15272,7 +15922,7 @@
 // parameter value must be set to a YouTube video ID and, if you are
 // using this parameter, the type parameter must be set to video.
 func (c *SearchListCall) RelatedToVideoId(relatedToVideoId string) *SearchListCall {
-	c.urlParams_.Set("relatedToVideoId", relatedToVideoId)
+	c.opt_["relatedToVideoId"] = relatedToVideoId
 	return c
 }
 
@@ -15285,7 +15935,7 @@
 // languages will still be returned if they are highly relevant to the
 // search query term.
 func (c *SearchListCall) RelevanceLanguage(relevanceLanguage string) *SearchListCall {
-	c.urlParams_.Set("relevanceLanguage", relevanceLanguage)
+	c.opt_["relevanceLanguage"] = relevanceLanguage
 	return c
 }
 
@@ -15304,7 +15954,7 @@
 // the search result set. Based on their content, search results could
 // be removed from search results or demoted in search results.
 func (c *SearchListCall) SafeSearch(safeSearch string) *SearchListCall {
-	c.urlParams_.Set("safeSearch", safeSearch)
+	c.opt_["safeSearch"] = safeSearch
 	return c
 }
 
@@ -15313,7 +15963,7 @@
 // associated with the specified topic. The value identifies a Freebase
 // topic ID.
 func (c *SearchListCall) TopicId(topicId string) *SearchListCall {
-	c.urlParams_.Set("topicId", topicId)
+	c.opt_["topicId"] = topicId
 	return c
 }
 
@@ -15321,7 +15971,7 @@
 // a search query to only retrieve a particular type of resource. The
 // value is a comma-separated list of resource types.
 func (c *SearchListCall) Type(type_ string) *SearchListCall {
-	c.urlParams_.Set("type_", type_)
+	c.opt_["type"] = type_
 	return c
 }
 
@@ -15336,7 +15986,7 @@
 //   "closedCaption" - Only include videos that have captions.
 //   "none" - Only include videos that do not have captions.
 func (c *SearchListCall) VideoCaption(videoCaption string) *SearchListCall {
-	c.urlParams_.Set("videoCaption", videoCaption)
+	c.opt_["videoCaption"] = videoCaption
 	return c
 }
 
@@ -15345,7 +15995,7 @@
 // category. If you specify a value for this parameter, you must also
 // set the type parameter's value to video.
 func (c *SearchListCall) VideoCategoryId(videoCategoryId string) *SearchListCall {
-	c.urlParams_.Set("videoCategoryId", videoCategoryId)
+	c.opt_["videoCategoryId"] = videoCategoryId
 	return c
 }
 
@@ -15362,7 +16012,7 @@
 //   "high" - Only retrieve HD videos.
 //   "standard" - Only retrieve videos in standard definition.
 func (c *SearchListCall) VideoDefinition(videoDefinition string) *SearchListCall {
-	c.urlParams_.Set("videoDefinition", videoDefinition)
+	c.opt_["videoDefinition"] = videoDefinition
 	return c
 }
 
@@ -15377,7 +16027,7 @@
 //   "any" - Include both 3D and non-3D videos in returned results. This
 // is the default value.
 func (c *SearchListCall) VideoDimension(videoDimension string) *SearchListCall {
-	c.urlParams_.Set("videoDimension", videoDimension)
+	c.opt_["videoDimension"] = videoDimension
 	return c
 }
 
@@ -15394,7 +16044,7 @@
 // long (inclusive).
 //   "short" - Only include videos that are less than four minutes long.
 func (c *SearchListCall) VideoDuration(videoDuration string) *SearchListCall {
-	c.urlParams_.Set("videoDuration", videoDuration)
+	c.opt_["videoDuration"] = videoDuration
 	return c
 }
 
@@ -15408,7 +16058,7 @@
 //   "any" - Return all videos, embeddable or not.
 //   "true" - Only retrieve embeddable videos.
 func (c *SearchListCall) VideoEmbeddable(videoEmbeddable string) *SearchListCall {
-	c.urlParams_.Set("videoEmbeddable", videoEmbeddable)
+	c.opt_["videoEmbeddable"] = videoEmbeddable
 	return c
 }
 
@@ -15428,7 +16078,7 @@
 //   "youtube" - Only return videos that have the standard YouTube
 // license.
 func (c *SearchListCall) VideoLicense(videoLicense string) *SearchListCall {
-	c.urlParams_.Set("videoLicense", videoLicense)
+	c.opt_["videoLicense"] = videoLicense
 	return c
 }
 
@@ -15442,7 +16092,7 @@
 //   "any" - Return all videos, syndicated or not.
 //   "true" - Only retrieve syndicated videos.
 func (c *SearchListCall) VideoSyndicated(videoSyndicated string) *SearchListCall {
-	c.urlParams_.Set("videoSyndicated", videoSyndicated)
+	c.opt_["videoSyndicated"] = videoSyndicated
 	return c
 }
 
@@ -15456,15 +16106,15 @@
 //   "episode" - Only retrieve episodes of shows.
 //   "movie" - Only retrieve movies.
 func (c *SearchListCall) VideoType(videoType string) *SearchListCall {
-	c.urlParams_.Set("videoType", videoType)
+	c.opt_["videoType"] = videoType
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SearchListCall) Fields(s ...googleapi.Field) *SearchListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -15474,13 +16124,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SearchListCall) IfNoneMatch(entityTag string) *SearchListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SearchListCall) Context(ctx context.Context) *SearchListCall {
 	c.ctx_ = ctx
 	return c
@@ -15488,14 +16138,109 @@
 
 func (c *SearchListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["channelId"]; ok {
+		params.Set("channelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["channelType"]; ok {
+		params.Set("channelType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["eventType"]; ok {
+		params.Set("eventType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["forContentOwner"]; ok {
+		params.Set("forContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["forDeveloper"]; ok {
+		params.Set("forDeveloper", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["forMine"]; ok {
+		params.Set("forMine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["location"]; ok {
+		params.Set("location", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locationRadius"]; ok {
+		params.Set("locationRadius", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["order"]; ok {
+		params.Set("order", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publishedAfter"]; ok {
+		params.Set("publishedAfter", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["publishedBefore"]; ok {
+		params.Set("publishedBefore", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["q"]; ok {
+		params.Set("q", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionCode"]; ok {
+		params.Set("regionCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["relatedToVideoId"]; ok {
+		params.Set("relatedToVideoId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["relevanceLanguage"]; ok {
+		params.Set("relevanceLanguage", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["safeSearch"]; ok {
+		params.Set("safeSearch", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["topicId"]; ok {
+		params.Set("topicId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["type"]; ok {
+		params.Set("type", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoCaption"]; ok {
+		params.Set("videoCaption", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoCategoryId"]; ok {
+		params.Set("videoCategoryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoDefinition"]; ok {
+		params.Set("videoDefinition", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoDimension"]; ok {
+		params.Set("videoDimension", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoDuration"]; ok {
+		params.Set("videoDuration", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoEmbeddable"]; ok {
+		params.Set("videoEmbeddable", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoLicense"]; ok {
+		params.Set("videoLicense", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoSyndicated"]; ok {
+		params.Set("videoSyndicated", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoType"]; ok {
+		params.Set("videoType", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "search")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -15850,29 +16595,30 @@
 // method id "youtube.subscriptions.delete":
 
 type SubscriptionsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a subscription.
 func (r *SubscriptionsService) Delete(id string) *SubscriptionsDeleteCall {
-	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &SubscriptionsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -15880,9 +16626,14 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -15932,30 +16683,31 @@
 
 type SubscriptionsInsertCall struct {
 	s            *Service
+	part         string
 	subscription *Subscription
-	urlParams_   internal.URLParams
+	opt_         map[string]interface{}
 	ctx_         context.Context
 }
 
 // Insert: Adds a subscription for the authenticated user's channel.
 func (r *SubscriptionsService) Insert(part string, subscription *Subscription) *SubscriptionsInsertCall {
-	c := &SubscriptionsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &SubscriptionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.subscription = subscription
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsInsertCall) Fields(s ...googleapi.Field) *SubscriptionsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsInsertCall) Context(ctx context.Context) *SubscriptionsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -15968,9 +16720,14 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -16050,17 +16807,17 @@
 // method id "youtube.subscriptions.list":
 
 type SubscriptionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns subscription resources that match the API request
 // criteria.
 func (r *SubscriptionsService) List(part string) *SubscriptionsListCall {
-	c := &SubscriptionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &SubscriptionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -16068,7 +16825,7 @@
 // parameter specifies a YouTube channel ID. The API will only return
 // that channel's subscriptions.
 func (c *SubscriptionsListCall) ChannelId(channelId string) *SubscriptionsListCall {
-	c.urlParams_.Set("channelId", channelId)
+	c.opt_["channelId"] = channelId
 	return c
 }
 
@@ -16077,7 +16834,7 @@
 // IDs. The API response will then only contain subscriptions matching
 // those channels.
 func (c *SubscriptionsListCall) ForChannelId(forChannelId string) *SubscriptionsListCall {
-	c.urlParams_.Set("forChannelId", forChannelId)
+	c.opt_["forChannelId"] = forChannelId
 	return c
 }
 
@@ -16086,7 +16843,7 @@
 // resource(s) that are being retrieved. In a subscription resource, the
 // id property specifies the YouTube subscription ID.
 func (c *SubscriptionsListCall) Id(id string) *SubscriptionsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -16094,14 +16851,14 @@
 // parameter specifies the maximum number of items that should be
 // returned in the result set.
 func (c *SubscriptionsListCall) MaxResults(maxResults int64) *SubscriptionsListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
 // Mine sets the optional parameter "mine": Set this parameter's value
 // to true to retrieve a feed of the authenticated user's subscriptions.
 func (c *SubscriptionsListCall) Mine(mine bool) *SubscriptionsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -16109,7 +16866,7 @@
 // parameter's value to true to retrieve a feed of the subscribers of
 // the authenticated user.
 func (c *SubscriptionsListCall) MySubscribers(mySubscribers bool) *SubscriptionsListCall {
-	c.urlParams_.Set("mySubscribers", fmt.Sprintf("%v", mySubscribers))
+	c.opt_["mySubscribers"] = mySubscribers
 	return c
 }
 
@@ -16127,7 +16884,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *SubscriptionsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *SubscriptionsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -16153,7 +16910,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *SubscriptionsListCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *SubscriptionsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -16166,7 +16923,7 @@
 //   "relevance" - Sort by relevance.
 //   "unread" - Sort by order of activity.
 func (c *SubscriptionsListCall) Order(order string) *SubscriptionsListCall {
-	c.urlParams_.Set("order", order)
+	c.opt_["order"] = order
 	return c
 }
 
@@ -16175,15 +16932,15 @@
 // returned. In an API response, the nextPageToken and prevPageToken
 // properties identify other pages that could be retrieved.
 func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16193,13 +16950,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -16207,14 +16964,49 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["channelId"]; ok {
+		params.Set("channelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["forChannelId"]; ok {
+		params.Set("forChannelId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mySubscribers"]; ok {
+		params.Set("mySubscribers", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["order"]; ok {
+		params.Set("order", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16354,21 +17146,21 @@
 // method id "youtube.thumbnails.set":
 
 type ThumbnailsSetCall struct {
-	s                *Service
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	videoId    string
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Set: Uploads a custom video thumbnail to YouTube and sets it for a
 // video.
 func (r *ThumbnailsService) Set(videoId string) *ThumbnailsSetCall {
-	c := &ThumbnailsSetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("videoId", videoId)
+	c := &ThumbnailsSetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.videoId = videoId
 	return c
 }
 
@@ -16387,24 +17179,24 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *ThumbnailsSetCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *ThumbnailsSetCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *ThumbnailsSetCall) Media(r io.Reader) *ThumbnailsSetCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *ThumbnailsSetCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ThumbnailsSetCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -16413,28 +17205,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *ThumbnailsSetCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ThumbnailsSetCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ThumbnailsSetCall) Fields(s ...googleapi.Field) *ThumbnailsSetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *ThumbnailsSetCall) Context(ctx context.Context) *ThumbnailsSetCall {
 	c.ctx_ = ctx
 	return c
@@ -16442,13 +17233,21 @@
 
 func (c *ThumbnailsSetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("videoId", fmt.Sprintf("%v", c.videoId))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "thumbnails/set")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	body = new(bytes.Buffer)
 	ctype := "application/json"
 	if c.protocol_ != "resumable" {
@@ -16501,6 +17300,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -16510,7 +17315,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -16584,32 +17389,32 @@
 // method id "youtube.videoAbuseReportReasons.list":
 
 type VideoAbuseReportReasonsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of abuse reasons that can be used for reporting
 // abusive videos.
 func (r *VideoAbuseReportReasonsService) List(part string) *VideoAbuseReportReasonsListCall {
-	c := &VideoAbuseReportReasonsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &VideoAbuseReportReasonsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
 // Hl sets the optional parameter "hl": The hl parameter specifies the
 // language that should be used for text values in the API response.
 func (c *VideoAbuseReportReasonsListCall) Hl(hl string) *VideoAbuseReportReasonsListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideoAbuseReportReasonsListCall) Fields(s ...googleapi.Field) *VideoAbuseReportReasonsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16619,13 +17424,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VideoAbuseReportReasonsListCall) IfNoneMatch(entityTag string) *VideoAbuseReportReasonsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideoAbuseReportReasonsListCall) Context(ctx context.Context) *VideoAbuseReportReasonsListCall {
 	c.ctx_ = ctx
 	return c
@@ -16633,14 +17438,22 @@
 
 func (c *VideoAbuseReportReasonsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videoAbuseReportReasons")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16721,24 +17534,24 @@
 // method id "youtube.videoCategories.list":
 
 type VideoCategoriesListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of categories that can be associated with
 // YouTube videos.
 func (r *VideoCategoriesService) List(part string) *VideoCategoriesListCall {
-	c := &VideoCategoriesListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &VideoCategoriesListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
 // Hl sets the optional parameter "hl": The hl parameter specifies the
 // language that should be used for text values in the API response.
 func (c *VideoCategoriesListCall) Hl(hl string) *VideoCategoriesListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
@@ -16746,7 +17559,7 @@
 // comma-separated list of video category IDs for the resources that you
 // are retrieving.
 func (c *VideoCategoriesListCall) Id(id string) *VideoCategoriesListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -16755,15 +17568,15 @@
 // available in the specified country. The parameter value is an ISO
 // 3166-1 alpha-2 country code.
 func (c *VideoCategoriesListCall) RegionCode(regionCode string) *VideoCategoriesListCall {
-	c.urlParams_.Set("regionCode", regionCode)
+	c.opt_["regionCode"] = regionCode
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideoCategoriesListCall) Fields(s ...googleapi.Field) *VideoCategoriesListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -16773,13 +17586,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VideoCategoriesListCall) IfNoneMatch(entityTag string) *VideoCategoriesListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideoCategoriesListCall) Context(ctx context.Context) *VideoCategoriesListCall {
 	c.ctx_ = ctx
 	return c
@@ -16787,14 +17600,28 @@
 
 func (c *VideoCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionCode"]; ok {
+		params.Set("regionCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videoCategories")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -16885,15 +17712,16 @@
 // method id "youtube.videos.delete":
 
 type VideosDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a YouTube video.
 func (r *VideosService) Delete(id string) *VideosDeleteCall {
-	c := &VideosDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &VideosDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -16912,21 +17740,21 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *VideosDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *VideosDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosDeleteCall) Fields(s ...googleapi.Field) *VideosDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideosDeleteCall) Context(ctx context.Context) *VideosDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -16934,9 +17762,17 @@
 
 func (c *VideosDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -16990,17 +17826,17 @@
 // method id "youtube.videos.getRating":
 
 type VideosGetRatingCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // GetRating: Retrieves the ratings that the authorized user gave to a
 // list of specified videos.
 func (r *VideosService) GetRating(id string) *VideosGetRatingCall {
-	c := &VideosGetRatingCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &VideosGetRatingCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -17018,15 +17854,15 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *VideosGetRatingCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *VideosGetRatingCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosGetRatingCall) Fields(s ...googleapi.Field) *VideosGetRatingCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17036,13 +17872,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VideosGetRatingCall) IfNoneMatch(entityTag string) *VideosGetRatingCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideosGetRatingCall) Context(ctx context.Context) *VideosGetRatingCall {
 	c.ctx_ = ctx
 	return c
@@ -17050,14 +17886,22 @@
 
 func (c *VideosGetRatingCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos/getRating")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17136,22 +17980,22 @@
 // method id "youtube.videos.insert":
 
 type VideosInsertCall struct {
-	s                *Service
-	video            *Video
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s          *Service
+	part       string
+	video      *Video
+	opt_       map[string]interface{}
+	media_     io.Reader
+	resumable_ googleapi.SizeReaderAt
+	mediaType_ string
+	protocol_  string
+	ctx_       context.Context
 }
 
 // Insert: Uploads a video to YouTube and optionally sets the video's
 // metadata.
 func (r *VideosService) Insert(part string, video *Video) *VideosInsertCall {
-	c := &VideosInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &VideosInsertCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.video = video
 	return c
 }
@@ -17160,7 +18004,7 @@
 // parameter indicates whether YouTube should automatically enhance the
 // video's lighting and color.
 func (c *VideosInsertCall) AutoLevels(autoLevels bool) *VideosInsertCall {
-	c.urlParams_.Set("autoLevels", fmt.Sprintf("%v", autoLevels))
+	c.opt_["autoLevels"] = autoLevels
 	return c
 }
 
@@ -17173,7 +18017,7 @@
 // to avoid sending a notification about each new video to the channel's
 // subscribers.
 func (c *VideosInsertCall) NotifySubscribers(notifySubscribers bool) *VideosInsertCall {
-	c.urlParams_.Set("notifySubscribers", fmt.Sprintf("%v", notifySubscribers))
+	c.opt_["notifySubscribers"] = notifySubscribers
 	return c
 }
 
@@ -17191,7 +18035,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *VideosInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *VideosInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -17217,7 +18061,7 @@
 // specified in the parameter value, without having to provide
 // authentication credentials for each separate channel.
 func (c *VideosInsertCall) OnBehalfOfContentOwnerChannel(onBehalfOfContentOwnerChannel string) *VideosInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwnerChannel", onBehalfOfContentOwnerChannel)
+	c.opt_["onBehalfOfContentOwnerChannel"] = onBehalfOfContentOwnerChannel
 	return c
 }
 
@@ -17225,24 +18069,24 @@
 // parameter indicates whether YouTube should adjust the video to remove
 // shaky camera motions.
 func (c *VideosInsertCall) Stabilize(stabilize bool) *VideosInsertCall {
-	c.urlParams_.Set("stabilize", fmt.Sprintf("%v", stabilize))
+	c.opt_["stabilize"] = stabilize
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *VideosInsertCall) Media(r io.Reader) *VideosInsertCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *VideosInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *VideosInsertCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -17251,28 +18095,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *VideosInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *VideosInsertCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosInsertCall) Fields(s ...googleapi.Field) *VideosInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *VideosInsertCall) Context(ctx context.Context) *VideosInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -17285,13 +18128,33 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["autoLevels"]; ok {
+		params.Set("autoLevels", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["notifySubscribers"]; ok {
+		params.Set("notifySubscribers", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwnerChannel"]; ok {
+		params.Set("onBehalfOfContentOwnerChannel", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["stabilize"]; ok {
+		params.Set("stabilize", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -17342,6 +18205,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return nil, err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -17351,7 +18220,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -17448,16 +18317,16 @@
 // method id "youtube.videos.list":
 
 type VideosListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	part string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a list of videos that match the API request parameters.
 func (r *VideosService) List(part string) *VideosListCall {
-	c := &VideosListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &VideosListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	return c
 }
 
@@ -17468,7 +18337,7 @@
 //   "mostPopular" - Return the most popular videos for the specified
 // content region and video category.
 func (c *VideosListCall) Chart(chart string) *VideosListCall {
-	c.urlParams_.Set("chart", chart)
+	c.opt_["chart"] = chart
 	return c
 }
 
@@ -17484,7 +18353,7 @@
 // snippet.localized object will contain resource details in the
 // resource's default language.
 func (c *VideosListCall) Hl(hl string) *VideosListCall {
-	c.urlParams_.Set("hl", hl)
+	c.opt_["hl"] = hl
 	return c
 }
 
@@ -17493,13 +18362,13 @@
 // that are being retrieved. In a video resource, the id property
 // specifies the video's ID.
 func (c *VideosListCall) Id(id string) *VideosListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
 // Locale sets the optional parameter "locale": DEPRECATED
 func (c *VideosListCall) Locale(locale string) *VideosListCall {
-	c.urlParams_.Set("locale", locale)
+	c.opt_["locale"] = locale
 	return c
 }
 
@@ -17511,7 +18380,7 @@
 // myRating parameter, but it is not supported for use in conjunction
 // with the id parameter.
 func (c *VideosListCall) MaxResults(maxResults int64) *VideosListCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["maxResults"] = maxResults
 	return c
 }
 
@@ -17523,7 +18392,7 @@
 //   "dislike" - Returns only videos disliked by the authenticated user.
 //   "like" - Returns only video liked by the authenticated user.
 func (c *VideosListCall) MyRating(myRating string) *VideosListCall {
-	c.urlParams_.Set("myRating", myRating)
+	c.opt_["myRating"] = myRating
 	return c
 }
 
@@ -17541,7 +18410,7 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *VideosListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *VideosListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
@@ -17554,7 +18423,7 @@
 // myRating parameter, but it is not supported for use in conjunction
 // with the id parameter.
 func (c *VideosListCall) PageToken(pageToken string) *VideosListCall {
-	c.urlParams_.Set("pageToken", pageToken)
+	c.opt_["pageToken"] = pageToken
 	return c
 }
 
@@ -17564,7 +18433,7 @@
 // the chart parameter. The parameter value is an ISO 3166-1 alpha-2
 // country code.
 func (c *VideosListCall) RegionCode(regionCode string) *VideosListCall {
-	c.urlParams_.Set("regionCode", regionCode)
+	c.opt_["regionCode"] = regionCode
 	return c
 }
 
@@ -17574,15 +18443,15 @@
 // conjunction with the chart parameter. By default, charts are not
 // restricted to a particular category.
 func (c *VideosListCall) VideoCategoryId(videoCategoryId string) *VideosListCall {
-	c.urlParams_.Set("videoCategoryId", videoCategoryId)
+	c.opt_["videoCategoryId"] = videoCategoryId
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosListCall) Fields(s ...googleapi.Field) *VideosListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -17592,13 +18461,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *VideosListCall) IfNoneMatch(entityTag string) *VideosListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideosListCall) Context(ctx context.Context) *VideosListCall {
 	c.ctx_ = ctx
 	return c
@@ -17606,14 +18475,49 @@
 
 func (c *VideosListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["chart"]; ok {
+		params.Set("chart", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["hl"]; ok {
+		params.Set("hl", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["locale"]; ok {
+		params.Set("locale", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["maxResults"]; ok {
+		params.Set("maxResults", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["myRating"]; ok {
+		params.Set("myRating", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["pageToken"]; ok {
+		params.Set("pageToken", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["regionCode"]; ok {
+		params.Set("regionCode", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["videoCategoryId"]; ok {
+		params.Set("videoCategoryId", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -17757,31 +18661,33 @@
 // method id "youtube.videos.rate":
 
 type VideosRateCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s      *Service
+	id     string
+	rating string
+	opt_   map[string]interface{}
+	ctx_   context.Context
 }
 
 // Rate: Add a like or dislike rating to a video or remove a rating from
 // a video.
 func (r *VideosService) Rate(id string, rating string) *VideosRateCall {
-	c := &VideosRateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
-	c.urlParams_.Set("rating", rating)
+	c := &VideosRateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
+	c.rating = rating
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosRateCall) Fields(s ...googleapi.Field) *VideosRateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideosRateCall) Context(ctx context.Context) *VideosRateCall {
 	c.ctx_ = ctx
 	return c
@@ -17789,9 +18695,15 @@
 
 func (c *VideosRateCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	params.Set("rating", fmt.Sprintf("%v", c.rating))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos/rate")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -17859,13 +18771,13 @@
 type VideosReportAbuseCall struct {
 	s                *Service
 	videoabusereport *VideoAbuseReport
-	urlParams_       internal.URLParams
+	opt_             map[string]interface{}
 	ctx_             context.Context
 }
 
 // ReportAbuse: Report abuse for a video.
 func (r *VideosService) ReportAbuse(videoabusereport *VideoAbuseReport) *VideosReportAbuseCall {
-	c := &VideosReportAbuseCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &VideosReportAbuseCall{s: r.s, opt_: make(map[string]interface{})}
 	c.videoabusereport = videoabusereport
 	return c
 }
@@ -17884,21 +18796,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *VideosReportAbuseCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *VideosReportAbuseCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosReportAbuseCall) Fields(s ...googleapi.Field) *VideosReportAbuseCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideosReportAbuseCall) Context(ctx context.Context) *VideosReportAbuseCall {
 	c.ctx_ = ctx
 	return c
@@ -17911,9 +18823,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos/reportAbuse")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -17962,16 +18881,17 @@
 // method id "youtube.videos.update":
 
 type VideosUpdateCall struct {
-	s          *Service
-	video      *Video
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	part  string
+	video *Video
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Update: Updates a video's metadata.
 func (r *VideosService) Update(part string, video *Video) *VideosUpdateCall {
-	c := &VideosUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("part", part)
+	c := &VideosUpdateCall{s: r.s, opt_: make(map[string]interface{})}
+	c.part = part
 	c.video = video
 	return c
 }
@@ -17991,21 +18911,21 @@
 // authenticates with must be linked to the specified YouTube content
 // owner.
 func (c *VideosUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *VideosUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *VideosUpdateCall) Fields(s ...googleapi.Field) *VideosUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *VideosUpdateCall) Context(ctx context.Context) *VideosUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -18018,9 +18938,17 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("part", fmt.Sprintf("%v", c.part))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "videos")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -18105,21 +19033,21 @@
 // method id "youtube.watermarks.set":
 
 type WatermarksSetCall struct {
-	s                *Service
-	invideobranding  *InvideoBranding
-	urlParams_       internal.URLParams
-	media_           io.Reader
-	resumable_       googleapi.SizeReaderAt
-	mediaType_       string
-	protocol_        string
-	progressUpdater_ googleapi.ProgressUpdater
-	ctx_             context.Context
+	s               *Service
+	channelId       string
+	invideobranding *InvideoBranding
+	opt_            map[string]interface{}
+	media_          io.Reader
+	resumable_      googleapi.SizeReaderAt
+	mediaType_      string
+	protocol_       string
+	ctx_            context.Context
 }
 
 // Set: Uploads a watermark image to YouTube and sets it for a channel.
 func (r *WatermarksService) Set(channelId string, invideobranding *InvideoBranding) *WatermarksSetCall {
-	c := &WatermarksSetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("channelId", channelId)
+	c := &WatermarksSetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.channelId = channelId
 	c.invideobranding = invideobranding
 	return c
 }
@@ -18138,24 +19066,24 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *WatermarksSetCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *WatermarksSetCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Media specifies the media to upload in a single chunk. At most one of
-// Media and ResumableMedia may be set.
+// Media specifies the media to upload in a single chunk.
+// At most one of Media and ResumableMedia may be set.
 func (c *WatermarksSetCall) Media(r io.Reader) *WatermarksSetCall {
 	c.media_ = r
 	c.protocol_ = "multipart"
 	return c
 }
 
-// ResumableMedia specifies the media to upload in chunks and can be
-// canceled with ctx. At most one of Media and ResumableMedia may be
-// set. mediaType identifies the MIME media type of the upload, such as
-// "image/png". If mediaType is "", it will be auto-detected. The
-// provided ctx will supersede any context previously provided to the
-// Context method.
+// ResumableMedia specifies the media to upload in chunks and can be canceled with ctx.
+// At most one of Media and ResumableMedia may be set.
+// mediaType identifies the MIME media type of the upload, such as "image/png".
+// If mediaType is "", it will be auto-detected.
+// The provided ctx will supersede any context previously provided to
+// the Context method.
 func (c *WatermarksSetCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *WatermarksSetCall {
 	c.ctx_ = ctx
 	c.resumable_ = io.NewSectionReader(r, 0, size)
@@ -18164,28 +19092,27 @@
 	return c
 }
 
-// ProgressUpdater provides a callback function that will be called
-// after every chunk. It should be a low-latency function in order to
-// not slow down the upload operation. This should only be called when
-// using ResumableMedia (as opposed to Media).
+// ProgressUpdater provides a callback function that will be called after every chunk.
+// It should be a low-latency function in order to not slow down the upload operation.
+// This should only be called when using ResumableMedia (as opposed to Media).
 func (c *WatermarksSetCall) ProgressUpdater(pu googleapi.ProgressUpdater) *WatermarksSetCall {
-	c.progressUpdater_ = pu
+	c.opt_["progressUpdater"] = pu
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WatermarksSetCall) Fields(s ...googleapi.Field) *WatermarksSetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
-// This context will supersede any context previously provided to the
-// ResumableMedia method.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
+// This context will supersede any context previously provided to
+// the ResumableMedia method.
 func (c *WatermarksSetCall) Context(ctx context.Context) *WatermarksSetCall {
 	c.ctx_ = ctx
 	return c
@@ -18198,13 +19125,21 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("channelId", fmt.Sprintf("%v", c.channelId))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "watermarks/set")
 	if c.media_ != nil || c.resumable_ != nil {
 		urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
-		c.urlParams_.Set("uploadType", c.protocol_)
+		params.Set("uploadType", c.protocol_)
 	}
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	if c.protocol_ != "resumable" {
 		var cancel func()
 		cancel, _ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
@@ -18240,6 +19175,12 @@
 	if err := googleapi.CheckResponse(res); err != nil {
 		return err
 	}
+	var progressUpdater_ googleapi.ProgressUpdater
+	if v, ok := c.opt_["progressUpdater"]; ok {
+		if pu, ok := v.(googleapi.ProgressUpdater); ok {
+			progressUpdater_ = pu
+		}
+	}
 	if c.protocol_ == "resumable" {
 		loc := res.Header.Get("Location")
 		rx := &googleapi.ResumableUpload{
@@ -18249,7 +19190,7 @@
 			Media:         c.resumable_,
 			MediaType:     c.mediaType_,
 			ContentLength: c.resumable_.Size(),
-			Callback:      c.progressUpdater_,
+			Callback:      progressUpdater_,
 		}
 		res, err = rx.Upload(c.ctx_)
 		if err != nil {
@@ -18314,15 +19255,16 @@
 // method id "youtube.watermarks.unset":
 
 type WatermarksUnsetCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	channelId string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Unset: Deletes a channel's watermark image.
 func (r *WatermarksService) Unset(channelId string) *WatermarksUnsetCall {
-	c := &WatermarksUnsetCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("channelId", channelId)
+	c := &WatermarksUnsetCall{s: r.s, opt_: make(map[string]interface{})}
+	c.channelId = channelId
 	return c
 }
 
@@ -18340,21 +19282,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *WatermarksUnsetCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *WatermarksUnsetCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *WatermarksUnsetCall) Fields(s ...googleapi.Field) *WatermarksUnsetCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *WatermarksUnsetCall) Context(ctx context.Context) *WatermarksUnsetCall {
 	c.ctx_ = ctx
 	return c
@@ -18362,9 +19304,17 @@
 
 func (c *WatermarksUnsetCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("channelId", fmt.Sprintf("%v", c.channelId))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "watermarks/unset")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
diff --git a/youtubeanalytics/v1/youtubeanalytics-gen.go b/youtubeanalytics/v1/youtubeanalytics-gen.go
index 08b79e8..cacd377 100644
--- a/youtubeanalytics/v1/youtubeanalytics-gen.go
+++ b/youtubeanalytics/v1/youtubeanalytics-gen.go
@@ -589,24 +589,24 @@
 // method id "youtubeAnalytics.batchReportDefinitions.list":
 
 type BatchReportDefinitionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                      *Service
+	onBehalfOfContentOwner string
+	opt_                   map[string]interface{}
+	ctx_                   context.Context
 }
 
 // List: Retrieves a list of available batch report definitions.
 func (r *BatchReportDefinitionsService) List(onBehalfOfContentOwner string) *BatchReportDefinitionsListCall {
-	c := &BatchReportDefinitionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c := &BatchReportDefinitionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.onBehalfOfContentOwner = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BatchReportDefinitionsListCall) Fields(s ...googleapi.Field) *BatchReportDefinitionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -616,13 +616,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BatchReportDefinitionsListCall) IfNoneMatch(entityTag string) *BatchReportDefinitionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BatchReportDefinitionsListCall) Context(ctx context.Context) *BatchReportDefinitionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -630,14 +630,19 @@
 
 func (c *BatchReportDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", c.onBehalfOfContentOwner))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "batchReportDefinitions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -710,25 +715,26 @@
 // method id "youtubeAnalytics.batchReports.list":
 
 type BatchReportsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                       *Service
+	batchReportDefinitionId string
+	onBehalfOfContentOwner  string
+	opt_                    map[string]interface{}
+	ctx_                    context.Context
 }
 
 // List: Retrieves a list of processed batch reports.
 func (r *BatchReportsService) List(batchReportDefinitionId string, onBehalfOfContentOwner string) *BatchReportsListCall {
-	c := &BatchReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("batchReportDefinitionId", batchReportDefinitionId)
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c := &BatchReportsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.batchReportDefinitionId = batchReportDefinitionId
+	c.onBehalfOfContentOwner = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BatchReportsListCall) Fields(s ...googleapi.Field) *BatchReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -738,13 +744,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BatchReportsListCall) IfNoneMatch(entityTag string) *BatchReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BatchReportsListCall) Context(ctx context.Context) *BatchReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -752,14 +758,20 @@
 
 func (c *BatchReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("batchReportDefinitionId", fmt.Sprintf("%v", c.batchReportDefinitionId))
+	params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", c.onBehalfOfContentOwner))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "batchReports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -839,15 +851,16 @@
 // method id "youtubeAnalytics.groupItems.delete":
 
 type GroupItemsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Removes an item from a group.
 func (r *GroupItemsService) Delete(id string) *GroupItemsDeleteCall {
-	c := &GroupItemsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &GroupItemsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -865,21 +878,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupItemsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupItemsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupItemsDeleteCall) Fields(s ...googleapi.Field) *GroupItemsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupItemsDeleteCall) Context(ctx context.Context) *GroupItemsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -887,9 +900,17 @@
 
 func (c *GroupItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groupItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -942,15 +963,15 @@
 // method id "youtubeAnalytics.groupItems.insert":
 
 type GroupItemsInsertCall struct {
-	s          *Service
-	groupitem  *GroupItem
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	groupitem *GroupItem
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a group item.
 func (r *GroupItemsService) Insert(groupitem *GroupItem) *GroupItemsInsertCall {
-	c := &GroupItemsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupItemsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupitem = groupitem
 	return c
 }
@@ -969,21 +990,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupItemsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupItemsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupItemsInsertCall) Fields(s ...googleapi.Field) *GroupItemsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupItemsInsertCall) Context(ctx context.Context) *GroupItemsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -996,9 +1017,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groupItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1073,17 +1101,17 @@
 // method id "youtubeAnalytics.groupItems.list":
 
 type GroupItemsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	groupId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Returns a collection of group items that match the API request
 // parameters.
 func (r *GroupItemsService) List(groupId string) *GroupItemsListCall {
-	c := &GroupItemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("groupId", groupId)
+	c := &GroupItemsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.groupId = groupId
 	return c
 }
 
@@ -1101,15 +1129,15 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupItemsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupItemsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupItemsListCall) Fields(s ...googleapi.Field) *GroupItemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1119,13 +1147,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupItemsListCall) IfNoneMatch(entityTag string) *GroupItemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupItemsListCall) Context(ctx context.Context) *GroupItemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1133,14 +1161,22 @@
 
 func (c *GroupItemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("groupId", fmt.Sprintf("%v", c.groupId))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groupItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1220,15 +1256,16 @@
 // method id "youtubeAnalytics.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a group.
 func (r *GroupsService) Delete(id string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -1246,21 +1283,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1268,9 +1305,17 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1323,15 +1368,15 @@
 // method id "youtubeAnalytics.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	group *Group
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Insert: Creates a group.
 func (r *GroupsService) Insert(group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.group = group
 	return c
 }
@@ -1350,21 +1395,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1377,9 +1422,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1454,10 +1506,9 @@
 // method id "youtubeAnalytics.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a collection of groups that match the API request
@@ -1465,7 +1516,7 @@
 // authenticated user owns, or you can retrieve one or more groups by
 // their unique IDs.
 func (r *GroupsService) List() *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1474,7 +1525,7 @@
 // that are being retrieved. In a group resource, the id property
 // specifies the group's YouTube group ID.
 func (c *GroupsListCall) Id(id string) *GroupsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -1482,7 +1533,7 @@
 // to true to instruct the API to only return groups owned by the
 // authenticated user.
 func (c *GroupsListCall) Mine(mine bool) *GroupsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -1500,15 +1551,15 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1518,13 +1569,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1532,14 +1583,27 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1620,16 +1684,16 @@
 // method id "youtubeAnalytics.groups.update":
 
 type GroupsUpdateCall struct {
-	s          *Service
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	group *Group
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Update: Modifies a group. For example, you could change a group's
 // title.
 func (r *GroupsService) Update(group *Group) *GroupsUpdateCall {
-	c := &GroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.group = group
 	return c
 }
@@ -1648,21 +1712,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsUpdateCall) Fields(s ...googleapi.Field) *GroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsUpdateCall) Context(ctx context.Context) *GroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1675,9 +1739,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1752,19 +1823,22 @@
 // method id "youtubeAnalytics.reports.query":
 
 type ReportsQueryCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	ids       string
+	startDate string
+	endDate   string
+	metrics   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Query: Retrieve your YouTube Analytics reports.
 func (r *ReportsService) Query(ids string, startDate string, endDate string, metrics string) *ReportsQueryCall {
-	c := &ReportsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("ids", ids)
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
-	c.urlParams_.Set("metrics", metrics)
+	c := &ReportsQueryCall{s: r.s, opt_: make(map[string]interface{})}
+	c.ids = ids
+	c.startDate = startDate
+	c.endDate = endDate
+	c.metrics = metrics
 	return c
 }
 
@@ -1774,7 +1848,7 @@
 // ignored. Responds with an error if the specified currency is not
 // recognized.
 func (c *ReportsQueryCall) Currency(currency string) *ReportsQueryCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
@@ -1785,7 +1859,7 @@
 // reports. Also see the Dimensions document for definitions of those
 // dimensions.
 func (c *ReportsQueryCall) Dimensions(dimensions string) *ReportsQueryCall {
-	c.urlParams_.Set("dimensions", dimensions)
+	c.opt_["dimensions"] = dimensions
 	return c
 }
 
@@ -1799,14 +1873,14 @@
 // video==dMH0bHeiRNg;country==IT restricts the result set to include
 // data for the given video in Italy.
 func (c *ReportsQueryCall) Filters(filters string) *ReportsQueryCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of rows to include in the response.
 func (c *ReportsQueryCall) MaxResults(maxResults int64) *ReportsQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -1815,7 +1889,7 @@
 // Analytics data. By default the sort order is ascending. The '-'
 // prefix causes descending sort order.
 func (c *ReportsQueryCall) Sort(sort string) *ReportsQueryCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
@@ -1824,15 +1898,15 @@
 // mechanism along with the max-results parameter (one-based,
 // inclusive).
 func (c *ReportsQueryCall) StartIndex(startIndex int64) *ReportsQueryCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsQueryCall) Fields(s ...googleapi.Field) *ReportsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1842,13 +1916,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsQueryCall) IfNoneMatch(entityTag string) *ReportsQueryCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsQueryCall) Context(ctx context.Context) *ReportsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1856,14 +1930,40 @@
 
 func (c *ReportsQueryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("end-date", fmt.Sprintf("%v", c.endDate))
+	params.Set("ids", fmt.Sprintf("%v", c.ids))
+	params.Set("metrics", fmt.Sprintf("%v", c.metrics))
+	params.Set("start-date", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimensions"]; ok {
+		params.Set("dimensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
diff --git a/youtubeanalytics/v1beta1/youtubeanalytics-gen.go b/youtubeanalytics/v1beta1/youtubeanalytics-gen.go
index 67b55fd..3ade9cf 100644
--- a/youtubeanalytics/v1beta1/youtubeanalytics-gen.go
+++ b/youtubeanalytics/v1beta1/youtubeanalytics-gen.go
@@ -589,24 +589,24 @@
 // method id "youtubeAnalytics.batchReportDefinitions.list":
 
 type BatchReportDefinitionsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                      *Service
+	onBehalfOfContentOwner string
+	opt_                   map[string]interface{}
+	ctx_                   context.Context
 }
 
 // List: Retrieves a list of available batch report definitions.
 func (r *BatchReportDefinitionsService) List(onBehalfOfContentOwner string) *BatchReportDefinitionsListCall {
-	c := &BatchReportDefinitionsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c := &BatchReportDefinitionsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.onBehalfOfContentOwner = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BatchReportDefinitionsListCall) Fields(s ...googleapi.Field) *BatchReportDefinitionsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -616,13 +616,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BatchReportDefinitionsListCall) IfNoneMatch(entityTag string) *BatchReportDefinitionsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BatchReportDefinitionsListCall) Context(ctx context.Context) *BatchReportDefinitionsListCall {
 	c.ctx_ = ctx
 	return c
@@ -630,14 +630,19 @@
 
 func (c *BatchReportDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", c.onBehalfOfContentOwner))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "batchReportDefinitions")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -710,25 +715,26 @@
 // method id "youtubeAnalytics.batchReports.list":
 
 type BatchReportsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s                       *Service
+	batchReportDefinitionId string
+	onBehalfOfContentOwner  string
+	opt_                    map[string]interface{}
+	ctx_                    context.Context
 }
 
 // List: Retrieves a list of processed batch reports.
 func (r *BatchReportsService) List(batchReportDefinitionId string, onBehalfOfContentOwner string) *BatchReportsListCall {
-	c := &BatchReportsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("batchReportDefinitionId", batchReportDefinitionId)
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c := &BatchReportsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.batchReportDefinitionId = batchReportDefinitionId
+	c.onBehalfOfContentOwner = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *BatchReportsListCall) Fields(s ...googleapi.Field) *BatchReportsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -738,13 +744,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *BatchReportsListCall) IfNoneMatch(entityTag string) *BatchReportsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *BatchReportsListCall) Context(ctx context.Context) *BatchReportsListCall {
 	c.ctx_ = ctx
 	return c
@@ -752,14 +758,20 @@
 
 func (c *BatchReportsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("batchReportDefinitionId", fmt.Sprintf("%v", c.batchReportDefinitionId))
+	params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", c.onBehalfOfContentOwner))
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "batchReports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -839,15 +851,16 @@
 // method id "youtubeAnalytics.groupItems.delete":
 
 type GroupItemsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Removes an item from a group.
 func (r *GroupItemsService) Delete(id string) *GroupItemsDeleteCall {
-	c := &GroupItemsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &GroupItemsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -865,21 +878,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupItemsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupItemsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupItemsDeleteCall) Fields(s ...googleapi.Field) *GroupItemsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupItemsDeleteCall) Context(ctx context.Context) *GroupItemsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -887,9 +900,17 @@
 
 func (c *GroupItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groupItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -942,15 +963,15 @@
 // method id "youtubeAnalytics.groupItems.insert":
 
 type GroupItemsInsertCall struct {
-	s          *Service
-	groupitem  *GroupItem
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s         *Service
+	groupitem *GroupItem
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Insert: Creates a group item.
 func (r *GroupItemsService) Insert(groupitem *GroupItem) *GroupItemsInsertCall {
-	c := &GroupItemsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupItemsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.groupitem = groupitem
 	return c
 }
@@ -969,21 +990,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupItemsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupItemsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupItemsInsertCall) Fields(s ...googleapi.Field) *GroupItemsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupItemsInsertCall) Context(ctx context.Context) *GroupItemsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -996,9 +1017,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groupItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1073,17 +1101,17 @@
 // method id "youtubeAnalytics.groupItems.list":
 
 type GroupItemsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s       *Service
+	groupId string
+	opt_    map[string]interface{}
+	ctx_    context.Context
 }
 
 // List: Returns a collection of group items that match the API request
 // parameters.
 func (r *GroupItemsService) List(groupId string) *GroupItemsListCall {
-	c := &GroupItemsListCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("groupId", groupId)
+	c := &GroupItemsListCall{s: r.s, opt_: make(map[string]interface{})}
+	c.groupId = groupId
 	return c
 }
 
@@ -1101,15 +1129,15 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupItemsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupItemsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupItemsListCall) Fields(s ...googleapi.Field) *GroupItemsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1119,13 +1147,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupItemsListCall) IfNoneMatch(entityTag string) *GroupItemsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupItemsListCall) Context(ctx context.Context) *GroupItemsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1133,14 +1161,22 @@
 
 func (c *GroupItemsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("groupId", fmt.Sprintf("%v", c.groupId))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groupItems")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1220,15 +1256,16 @@
 // method id "youtubeAnalytics.groups.delete":
 
 type GroupsDeleteCall struct {
-	s          *Service
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s    *Service
+	id   string
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // Delete: Deletes a group.
 func (r *GroupsService) Delete(id string) *GroupsDeleteCall {
-	c := &GroupsDeleteCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("id", id)
+	c := &GroupsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
+	c.id = id
 	return c
 }
 
@@ -1246,21 +1283,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsDeleteCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsDeleteCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
 	c.ctx_ = ctx
 	return c
@@ -1268,9 +1305,17 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("id", fmt.Sprintf("%v", c.id))
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("DELETE", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
@@ -1323,15 +1368,15 @@
 // method id "youtubeAnalytics.groups.insert":
 
 type GroupsInsertCall struct {
-	s          *Service
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	group *Group
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Insert: Creates a group.
 func (r *GroupsService) Insert(group *Group) *GroupsInsertCall {
-	c := &GroupsInsertCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsInsertCall{s: r.s, opt_: make(map[string]interface{})}
 	c.group = group
 	return c
 }
@@ -1350,21 +1395,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsInsertCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
 	c.ctx_ = ctx
 	return c
@@ -1377,9 +1422,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("POST", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1454,10 +1506,9 @@
 // method id "youtubeAnalytics.groups.list":
 
 type GroupsListCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s    *Service
+	opt_ map[string]interface{}
+	ctx_ context.Context
 }
 
 // List: Returns a collection of groups that match the API request
@@ -1465,7 +1516,7 @@
 // authenticated user owns, or you can retrieve one or more groups by
 // their unique IDs.
 func (r *GroupsService) List() *GroupsListCall {
-	c := &GroupsListCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsListCall{s: r.s, opt_: make(map[string]interface{})}
 	return c
 }
 
@@ -1474,7 +1525,7 @@
 // that are being retrieved. In a group resource, the id property
 // specifies the group's YouTube group ID.
 func (c *GroupsListCall) Id(id string) *GroupsListCall {
-	c.urlParams_.Set("id", id)
+	c.opt_["id"] = id
 	return c
 }
 
@@ -1482,7 +1533,7 @@
 // to true to instruct the API to only return groups owned by the
 // authenticated user.
 func (c *GroupsListCall) Mine(mine bool) *GroupsListCall {
-	c.urlParams_.Set("mine", fmt.Sprintf("%v", mine))
+	c.opt_["mine"] = mine
 	return c
 }
 
@@ -1500,15 +1551,15 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsListCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsListCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1518,13 +1569,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 	c.ctx_ = ctx
 	return c
@@ -1532,14 +1583,27 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["id"]; ok {
+		params.Set("id", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["mine"]; ok {
+		params.Set("mine", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)
@@ -1620,16 +1684,16 @@
 // method id "youtubeAnalytics.groups.update":
 
 type GroupsUpdateCall struct {
-	s          *Service
-	group      *Group
-	urlParams_ internal.URLParams
-	ctx_       context.Context
+	s     *Service
+	group *Group
+	opt_  map[string]interface{}
+	ctx_  context.Context
 }
 
 // Update: Modifies a group. For example, you could change a group's
 // title.
 func (r *GroupsService) Update(group *Group) *GroupsUpdateCall {
-	c := &GroupsUpdateCall{s: r.s, urlParams_: make(internal.URLParams)}
+	c := &GroupsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
 	c.group = group
 	return c
 }
@@ -1648,21 +1712,21 @@
 // individual channel. The CMS account that the user authenticates with
 // must be linked to the specified YouTube content owner.
 func (c *GroupsUpdateCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string) *GroupsUpdateCall {
-	c.urlParams_.Set("onBehalfOfContentOwner", onBehalfOfContentOwner)
+	c.opt_["onBehalfOfContentOwner"] = onBehalfOfContentOwner
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *GroupsUpdateCall) Fields(s ...googleapi.Field) *GroupsUpdateCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *GroupsUpdateCall) Context(ctx context.Context) *GroupsUpdateCall {
 	c.ctx_ = ctx
 	return c
@@ -1675,9 +1739,16 @@
 		return nil, err
 	}
 	ctype := "application/json"
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	if v, ok := c.opt_["onBehalfOfContentOwner"]; ok {
+		params.Set("onBehalfOfContentOwner", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "groups")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("PUT", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("Content-Type", ctype)
@@ -1752,19 +1823,22 @@
 // method id "youtubeAnalytics.reports.query":
 
 type ReportsQueryCall struct {
-	s            *Service
-	urlParams_   internal.URLParams
-	ifNoneMatch_ string
-	ctx_         context.Context
+	s         *Service
+	ids       string
+	startDate string
+	endDate   string
+	metrics   string
+	opt_      map[string]interface{}
+	ctx_      context.Context
 }
 
 // Query: Retrieve your YouTube Analytics reports.
 func (r *ReportsService) Query(ids string, startDate string, endDate string, metrics string) *ReportsQueryCall {
-	c := &ReportsQueryCall{s: r.s, urlParams_: make(internal.URLParams)}
-	c.urlParams_.Set("ids", ids)
-	c.urlParams_.Set("startDate", startDate)
-	c.urlParams_.Set("endDate", endDate)
-	c.urlParams_.Set("metrics", metrics)
+	c := &ReportsQueryCall{s: r.s, opt_: make(map[string]interface{})}
+	c.ids = ids
+	c.startDate = startDate
+	c.endDate = endDate
+	c.metrics = metrics
 	return c
 }
 
@@ -1774,7 +1848,7 @@
 // ignored. Responds with an error if the specified currency is not
 // recognized.
 func (c *ReportsQueryCall) Currency(currency string) *ReportsQueryCall {
-	c.urlParams_.Set("currency", currency)
+	c.opt_["currency"] = currency
 	return c
 }
 
@@ -1785,7 +1859,7 @@
 // reports. Also see the Dimensions document for definitions of those
 // dimensions.
 func (c *ReportsQueryCall) Dimensions(dimensions string) *ReportsQueryCall {
-	c.urlParams_.Set("dimensions", dimensions)
+	c.opt_["dimensions"] = dimensions
 	return c
 }
 
@@ -1799,14 +1873,14 @@
 // video==dMH0bHeiRNg;country==IT restricts the result set to include
 // data for the given video in Italy.
 func (c *ReportsQueryCall) Filters(filters string) *ReportsQueryCall {
-	c.urlParams_.Set("filters", filters)
+	c.opt_["filters"] = filters
 	return c
 }
 
 // MaxResults sets the optional parameter "max-results": The maximum
 // number of rows to include in the response.
 func (c *ReportsQueryCall) MaxResults(maxResults int64) *ReportsQueryCall {
-	c.urlParams_.Set("maxResults", fmt.Sprintf("%v", maxResults))
+	c.opt_["max-results"] = maxResults
 	return c
 }
 
@@ -1815,7 +1889,7 @@
 // Analytics data. By default the sort order is ascending. The '-'
 // prefix causes descending sort order.
 func (c *ReportsQueryCall) Sort(sort string) *ReportsQueryCall {
-	c.urlParams_.Set("sort", sort)
+	c.opt_["sort"] = sort
 	return c
 }
 
@@ -1824,15 +1898,15 @@
 // mechanism along with the max-results parameter (one-based,
 // inclusive).
 func (c *ReportsQueryCall) StartIndex(startIndex int64) *ReportsQueryCall {
-	c.urlParams_.Set("startIndex", fmt.Sprintf("%v", startIndex))
+	c.opt_["start-index"] = startIndex
 	return c
 }
 
-// Fields allows partial responses to be retrieved. See
-// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// Fields allows partial responses to be retrieved.
+// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
 func (c *ReportsQueryCall) Fields(s ...googleapi.Field) *ReportsQueryCall {
-	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	c.opt_["fields"] = googleapi.CombineFields(s)
 	return c
 }
 
@@ -1842,13 +1916,13 @@
 // request. Use googleapi.IsNotModified to check whether the response
 // error from Do is the result of In-None-Match.
 func (c *ReportsQueryCall) IfNoneMatch(entityTag string) *ReportsQueryCall {
-	c.ifNoneMatch_ = entityTag
+	c.opt_["ifNoneMatch"] = entityTag
 	return c
 }
 
-// Context sets the context to be used in this call's Do method. Any
-// pending HTTP request will be aborted if the provided context is
-// canceled.
+// Context sets the context to be used in this call's Do method.
+// Any pending HTTP request will be aborted if the provided context
+// is canceled.
 func (c *ReportsQueryCall) Context(ctx context.Context) *ReportsQueryCall {
 	c.ctx_ = ctx
 	return c
@@ -1856,14 +1930,40 @@
 
 func (c *ReportsQueryCall) doRequest(alt string) (*http.Response, error) {
 	var body io.Reader = nil
-	c.urlParams_.Set("alt", alt)
+	params := make(url.Values)
+	params.Set("alt", alt)
+	params.Set("end-date", fmt.Sprintf("%v", c.endDate))
+	params.Set("ids", fmt.Sprintf("%v", c.ids))
+	params.Set("metrics", fmt.Sprintf("%v", c.metrics))
+	params.Set("start-date", fmt.Sprintf("%v", c.startDate))
+	if v, ok := c.opt_["currency"]; ok {
+		params.Set("currency", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["dimensions"]; ok {
+		params.Set("dimensions", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["filters"]; ok {
+		params.Set("filters", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["max-results"]; ok {
+		params.Set("max-results", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["sort"]; ok {
+		params.Set("sort", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["start-index"]; ok {
+		params.Set("start-index", fmt.Sprintf("%v", v))
+	}
+	if v, ok := c.opt_["fields"]; ok {
+		params.Set("fields", fmt.Sprintf("%v", v))
+	}
 	urls := googleapi.ResolveRelative(c.s.BasePath, "reports")
-	urls += "?" + c.urlParams_.Encode()
+	urls += "?" + params.Encode()
 	req, _ := http.NewRequest("GET", urls, body)
 	googleapi.SetOpaque(req.URL)
 	req.Header.Set("User-Agent", c.s.userAgent())
-	if c.ifNoneMatch_ != "" {
-		req.Header.Set("If-None-Match", c.ifNoneMatch_)
+	if v, ok := c.opt_["ifNoneMatch"]; ok {
+		req.Header.Set("If-None-Match", fmt.Sprintf("%v", v))
 	}
 	if c.ctx_ != nil {
 		return ctxhttp.Do(c.ctx_, c.s.client, req)